private void establishAdminPassword() throws IOException {
		for (;;) {
			adminPasswordData = requestPassword("Set admin(" + connectingUserName + ") password:");
			if (adminPasswordData == null) {
				throw new IOException("Unable to obtain password");
			}
			char[] repeatPass = requestPassword("Please re-enter password:");
			boolean match = comparePasswordData(adminPasswordData, repeatPass);
			clearPasswordData(repeatPass);
			if (match) {
				break;
			}
			cleanupPasswordData();
			System.out.println("Passwords do not match");
		}
		passwordFile = Files
				.createTempFile("bsim", ".dat",
					PosixFilePermissions
							.asFileAttribute(PosixFilePermissions.fromString("rw-------")))
				.toFile();
		FileWriter writer = new FileWriter(passwordFile);
		writer.write(adminPasswordData);
		writer.close();
	}
(For a new postgres server) Establish an administrative password, by requesting the password
from the user, and then having the user re-enter the password. The password is stored in
the character array -adminPasswordData- and written to the file -passwordFile-
for access by the postgres "init" process
@throws IOException if there is a problem obtaining the password
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/BSimControlLaunchable.java