Wie ändere ich das Passwort für PostgreSQL-Benutzer?
996
Für passwortloses Login:
sudo -u user_name psql db_name
So setzen Sie das Passwort zurück, wenn Sie es vergessen haben:
ALTER USER user_name WITH PASSWORD 'new_password';
rm ~/.psql_history
ALTER USER myuser RENAME TO newname;
... tut ... aus irgendeinem Grund hat mich Google hier gezeigt, als ich das gegoogelt habe :)Geben Sie dann Folgendes ein:
Dann:
Dann zu beenden
psql
:Wenn dies nicht funktioniert, konfigurieren Sie die Authentifizierung neu.
Bearbeiten
/etc/postgresql/9.1/main/pg_hba.conf
(Pfad unterscheidet sich) und ändern:zu:
Starten Sie dann den Server neu:
quelle
\p
, gibt es mir das Passwort; Wenn ich\password postgres
es\p extra argument "assword" ignored; \p extra argument "postgres" ignored
sudo passwd postgres
Sie können und sollten das Kennwort des Benutzers verschlüsseln lassen:
quelle
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility.
Ich glaube, der beste Weg, um das Passwort zu ändern, ist einfach zu verwenden:
in der Postgres-Konsole.
Quelle:
von https://www.postgresql.org/docs/9.0/static/sql-alterrole.html .
quelle
\password username
Verwenden Sie Folgendes, um das Kennwort über die Linux-Befehlszeile zu ändern:
quelle
Passwort ändern
dann
Geben Sie nun Neues Passwort ein und bestätigen Sie
dann
\q
zu beendenquelle
Gehen Sie zu Ihrer Postgresql-Konfiguration und bearbeiten Sie pg_hba.conf
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
Dann ändern Sie diese Zeile:
zu:
Starten Sie dann den PostgreSQL-Dienst über den Befehl SUDO neu
Sie werden nun eingegeben und sehen das Postgresql-Terminal
dann eingeben
und geben Sie das NEUE Passwort für den Standardbenutzer von Postgres ein. Nachdem Sie das Passwort erneut erfolgreich geändert haben, gehen Sie zur Datei pg_hba.conf und setzen Sie die Änderung auf "md5" zurück.
Jetzt werden Sie als angemeldet
mit Ihrem neuen Passwort.
Lassen Sie mich wissen, wenn Sie alle ein Problem darin finden.
quelle
user@user-NC10:~$ psql -U postgres psql: FATAL: Peer authentication failed for user "postgres"
$version,' /usr/bin/psql: psql: line 26:
my ($ version, $ cluster, $ db, $ port , $ host); ' danke für Ihre Hilfe!So fordern Sie ein neues Passwort für den Benutzer von postgres an (ohne es im Befehl anzuzeigen ):
quelle
Die Konfiguration, die ich auf meinem Server habe, wurde stark angepasst und ich konnte das Kennwort erst ändern, nachdem ich die Vertrauensauthentifizierung in der
pg_hba.conf
Datei festgelegt hatte :Vergessen Sie nicht, dies wieder in Passwort oder MD5 zu ändern
quelle
sudo systemctl restart postgresql.service
Dies war das erste Ergebnis bei Google, als ich nach dem Umbenennen eines Nutzers suchte.
Einige andere Befehle, die für die Benutzerverwaltung hilfreich sind:
Benutzer in eine andere Gruppe verschieben
quelle
Für meinen Fall unter Ubuntu 14.04 mit Postgres 10.3 installiert. Ich muss die folgenden Schritte ausführen
su - postgres
Benutzer wechseln zupostgres
psql
Postgres Shell betreten\password
Geben Sie dann Ihr Passwort ein\q
um die Shell-Sitzung zu beendenDann wechseln Sie zurück zu root, indem Sie
exit
Ihrepg_hba.conf
(meine ist bei/etc/postgresql/10/main/pg_hba.conf
) ausführen und konfigurieren, indem Sie sicherstellen, dass Sie die folgende Zeile habenlocal all postgres md5
service postgresql restart
postgres
Wechseln Sie nun zu Benutzer und geben Sie die Postgres-Shell erneut ein. Sie werden aufgefordert, ein Passwort einzugeben.quelle
benutze das:
Geben Sie das gewünschte neue Passwort für diesen Benutzer ein und bestätigen Sie es. Wenn Sie sich nicht an das Passwort erinnern und es ändern möchten, können Sie sich als Postgres anmelden und dann Folgendes verwenden:
quelle
Ähnlich wie bei anderen Antworten in der Syntax, es sollte jedoch bekannt sein, dass Sie auch ein MD5 des Kennworts übergeben können, damit Sie kein Nur-Text-Kennwort übertragen.
Im Folgenden finden Sie einige Szenarien mit unbeabsichtigten Folgen einer Änderung des Benutzerkennworts im Klartext.
log_statement = ddl
oder höher protokolliert werden , wird Ihr Nur-Text-Kennwort in Ihren Fehlerprotokollen angezeigt.Nachdem dies gesagt wurde, können wir das Passwort eines Benutzers ändern, indem wir einen MD5 des Passworts erstellen.
In Bash:
ALTER USER
Befehl endlich so aussehenquelle
Verwenden Sie im Allgemeinen nur die Benutzeroberfläche von pg admin, um db-bezogene Aktivitäten auszuführen.
Wenn Sie sich stattdessen mehr auf die Automatisierung der Datenbankeinrichtung für Ihre lokale Entwicklung oder auf CI usw. konzentrieren ...
Sie können beispielsweise eine einfache Kombination wie diese verwenden.
(a) Erstellen Sie einen Dummy-Superuser über Jenkins mit einem ähnlichen Befehl:
Dadurch wird ein Superuser namens experiment001 in Ihrer Postgres-Datenbank erstellt.
(b) Geben Sie diesem Benutzer ein Kennwort, indem Sie einen NON-Interactive SQL-Befehl ausführen.
Postgres ist wahrscheinlich die beste Datenbank für Befehlszeilen-Tools (nicht interaktiv). Erstellen von Benutzern, Ausführen von SQL, Erstellen einer Datenbanksicherung usw. Im Allgemeinen ist bei Postgres alles recht einfach, und es ist insgesamt recht trivial, dies in Ihre Entwicklungs-Setup-Skripte oder in die automatisierte CI-Konfiguration zu integrieren.
quelle
und die vollautomatische Methode mit Bash und Expect ( in diesem Beispiel stellen wir einen neuen Postgres-Administrator mit dem neu bereitgestellten Postgres-PW sowohl auf Betriebssystem- als auch auf Postgres-Laufzeitebene bereit).
quelle
TLDR:
Auf vielen Systemen enthält das Konto eines Benutzers häufig einen Punkt oder eine Art Interpunktion (Benutzer: john.smith, horise.johnson). In diesen Fällen muss die oben akzeptierte Antwort geändert werden. Für die Änderung muss der Benutzername in doppelte Anführungszeichen gesetzt werden.
Rational:
Postgres ist ziemlich wählerisch, wann ein "doppeltes Anführungszeichen" und wann ein "einfaches Anführungszeichen" verwendet werden soll. Wenn Sie eine Zeichenfolge angeben, verwenden Sie normalerweise ein einfaches Anführungszeichen.
quelle