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

Authentifizieren Sie PostgreSQL-Benutzer und -Passwort ohne Datenbank

Verwenden Sie die Systemtabelle pg_roles

Postgres installiert immer eine Datenbank namens "postgres". postgres ist die Datenbank, mit der Sie sich verbinden, wenn Sie keine Verbindung zu einer Datenbank herstellen. Darin befindet sich eine Tabelle namens pg_roles .

Verwenden Sie diesen Befehl:

psql -U pgadmin -d postgres -c 'select * from pg_roles'

Was das zurückgibt:

 rolname  | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig |  oid
----------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+-------
 postgres | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           |    10
 pgadmin  | t        | t          | t             | t           | t            | t           | t              |           -1 | ********    |               |           | 16384

(2 Reihen)

Siehe diese Antwort:How to check if a Postgres-Benutzer existiert?

Testen Sie es, indem Sie sich anmelden

Versuchen Sie einfach, sich mit dem bereitgestellten Benutzernamen/Passwort anzumelden, und umgeben Sie es mit einem Try/Catch, und wenn Sie sich anmelden können, ist es gültig, andernfalls ist es nicht gültig.

Benutzer ändern

Möglicherweise erhalten Sie eine Fehlermeldung, wenn Sie einen nicht vorhandenen Benutzer ändern:http://www.postgresql.org/docs/8.0/static/sql-alteruser.html

ALTER USER postgres WITH PASSWORD 'tmppassword';

Nutzer löschen und neu hinzufügen

Möglicherweise erhalten Sie eine Fehlermeldung, wenn Sie versuchen, einen Benutzer zu löschen und erneut hinzuzufügen. Wenn es also ungültig wäre, hätte es einen Fehler ausgelöst, wenn Sie versuchen, einen Nichtbenutzer zu löschen. http://www.postgresql.org/docs/8.0/static /sql-createuser.html