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