PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So legen Sie das Standardbenutzerkennwort in PostgreSQL fest

Zunächst ist es wichtig zu verstehen, dass der standardmäßige Postgres-Benutzer für die meisten Unix-Distributionen kein Passwort zur Authentifizierung benötigt oder verwendet. Stattdessen ist die Standard-Authentifizierungsmethode, je nachdem, wie Postgres ursprünglich installiert wurde und welche Version Sie verwenden, entweder ident oder peer .

ident Die Authentifizierung verwendet den Identifikationsserver des Betriebssystems, der auf TCP-Port 113 läuft, um die Anmeldeinformationen des Benutzers zu überprüfen.

peer Die Authentifizierung hingegen wird für lokale Verbindungen verwendet und überprüft, ob der angemeldete Benutzername des Betriebssystems mit dem Benutzernamen für die Postgres-Datenbank übereinstimmt.

Als Standardbenutzer anmelden und verbinden

Bei den meisten Systemen ist der standardmäßige Postgres-Benutzer postgres und ein Passwort ist für die Authentifizierung nicht erforderlich. Um also ein Passwort hinzuzufügen, müssen wir uns zuerst anmelden und als postgres verbinden Benutzer.

$ sudo -u postgres psql

Wenn Sie erfolgreich verbunden sind und die Datei psql anzeigen Springen Sie nach unten zu Ändern des Passworts Abschnitt.

Wenn Sie eine Fehlermeldung erhalten haben, dass die Datenbank „postgres“ nicht existiert, versuchen Sie, eine Verbindung zu template1 herzustellen Datenbank und fahren Sie bei Erfolg mit Passwort ändern fort .

$ sudo -u postgres psql template1

Authentifizierungsfehler

Wenn Sie beim Versuch, eine Verbindung mit psql herzustellen, einen Authentifizierungsfehler erhalten client, müssen Sie möglicherweise die Konfigurationsdatei für die Postgres-Authentifizierung (pg_hfa.conf) ändern.

Öffnen Sie die Konfigurationsdatei, die sich normalerweise unter /etc/postgresql/#.#/main/pg_hba.conf befindet , wobei #.# ist die von Ihnen verwendete Postgres-Version:

$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf

Die Auth-Konfigurationsdatei ist eine Liste von Authentifizierungsregeln. Scrollen Sie in der Datei nach unten, bis Sie die erste Zeile finden, die postgres anzeigt Benutzer in der dritten Spalte (falls eine solche Zeile vorhanden ist). Kommentieren Sie die Zeile bei Bedarf aus (entfernen Sie das Semikolon), oder fügen Sie andernfalls, wenn die Zeile vollständig fehlt, die folgende Zeile am Anfang der Datei hinzu und speichern Sie Ihre Änderungen:

local all postgres peer

Diese Authentifizierungsregel teilt Postgres einfach mit, dass lokale Verbindungen zu allen Datenbanken für den Benutzer postgres hergestellt werden , authentifizieren Sie sich mit dem peer Protokoll.

Hinweis:Einige ältere Versionen von Postgres bevorzugen die standardmäßige Authentifizierungsmethode von ident, aber die meisten modernen Installationen verwenden stattdessen Peer wie oben angegeben. Möglicherweise müssen Sie beide testen, wenn Ihre Ergebnisse abweichen.

Wiederholen Sie nun mit aktualisierter Konfigurationsdatei die Schritte in Anmelden und als Standardbenutzer verbinden Abschnitt, um zu versuchen, eine Verbindung als standardmäßiges postgres herzustellen Benutzer. Sobald dies erfolgreich war, fahren Sie mit der Änderung des Passworts fort.

Passwort ändern

Mit einer jetzt hergestellten Verbindung zu Postgres im psql geben Sie ALTER USER ein Befehl, um das Passwort für postgres zu ändern Benutzer:

postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE

Bei Erfolg gibt Postgres eine Bestätigung von ALTER ROLE aus wie oben zu sehen.

Beenden Sie schließlich psql Client mithilfe von \q Befehl.

postgres=# \q

Sie sind fertig. Das standardmäßige postgres Der Benutzer hat jetzt ein mit dem Konto verknüpftes Passwort zur Verwendung in Ihren anderen Anwendungen.