private void dropUserCommand() throws Exception {
		discoverPostgresInstall();
		initializeDataDirectory();
		boolean userDoesNotExist = false;
		localConnection = getOrCreateLocalConnection();
		StringBuilder buffer = new StringBuilder();
		buffer.append("DROP ROLE \"");
		buffer.append(specifiedUserName);
		buffer.append('\"');

		try (Statement st = localConnection.createStatement()) {
			st.executeUpdate(buffer.toString());
		}
		catch (SQLException err) {
			if (!err.getMessage().contains("does not exist")) {
				throw err;
			}
			userDoesNotExist = true;
		}
		finally {
			localConnection.close();
		}

		if (hostAuthentication == AUTHENTICATION_PKI || localAuthentication == AUTHENTICATION_PKI) {
			File identFile = new File(dataDirectory, POSTGRES_IDENTFILE);
			File copyFile = new File(dataDirectory, POSTGRES_IDENTFILE + ".copy");
			if (!identFile.isFile()) {
				throw new IOException("Missing ident file: " + identFile.getAbsolutePath());
			}
			ServerConfig.patchIdent(identFile, copyFile, POSTGRES_MAP_IDENTIFIER, commonName,
				specifiedUserName, false);
			FileUtilities.copyFile(copyFile, identFile, false, null);
			reloadIdent();
		}
		if (userDoesNotExist) {
			System.out.println("User " + specifiedUserName + " does not exist");
		}
		else {
			System.out.println("Removed user: " + specifiedUserName);
		}
	}
On a server running on the local host, remove the specified username.
A local connection is created and the "DROP ROLE" command is run. If
the server uses PKI authentication, the PostgreSQL identity file is
scanned, and any mapping that matches dropped name is also removed. 
@throws Exception
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/BSimControlLaunchable.java