Nachdem man sich das relationale Datenbankmanagementsystem PostgreSQL installiert hat, folgt die Hürde, sich mit einer Datenbank zu verbinden. Ein Systembenutzer postgres wird während der Installation angelegt, jedoch wird man nicht aufgefordert, ein Passwort zu vergeben. Zum Glück gibt es immer den Weg über root, um die Identität eines anderen Users anzunehmen:
$ sudo su postgres
Nun kann man die PostgreSQL Shell mit der Systemdatenbank öffnen und dort das Passwort des Master-Benutzers über ein SQL-Statement ändern:
$ psql -d postgres postgres=# ALTER USER postgres WITH PASSWORD 'geheim'; postgres=# \q
Ein alternativer Weg ist die temporäre Änderung des Sicherheitsmodus für lokale Verbindungen. Dazu wird die Konfigurationsdatei von PostgreSQL für die Authentifizierungseinstellungen bearbeitet:
sudo gedit /etc/postgresql/8.4/main/pg_hba.conf
Hier findet man die Zeile
local all postgres ident
welche aussagt, dass man sich mit einer lokalen Verbindung mit allen Datenbanken als Benutzer postgres authentifizieren muss. Ändert man ident auf trust, so darf man sich auch ohne Eingabe eines Passwortes für den Benutzer postgres mit allen Datenbanken verbinden. Jedoch sollte man nach Änderungen an der Konfiguration den Server neu starten:
$ sudo /etc/init.d/postgresql-8.4 restart
Jetzt kann man z.B. mit pgAdmin3 das Passwort für den Benutzer postgres ändern. Im Anschluss sollte man den Sicherheitslevel von trust wieder auf ident zurücksetzen.