Použijte systémovou tabulku pg_roles
Postgres vždy nainstaluje databázi s názvem „postgres“. postgres je databáze, ke které se připojujete, když se nepřipojujete k databázi. Je tam tabulka nazvaná pg_roles
.
Použijte tento příkaz:
psql -U pgadmin -d postgres -c 'select * from pg_roles'
Což vrátí toto:
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 řádky)
Viz tato odpověď:Jak zkontrolovat, zda existuje uživatel postgres?
Otestujte si to přihlášením
Jednoduše se zkuste přihlásit pomocí dodaného uživatelského jména/hesla a obklopte jej pokusem/úlovkem, a pokud se můžete přihlásit, pak je platné, jinak není platné.
Změna uživatele
Pokud změníte neexistujícího uživatele, můžete zachytit chybovou zprávu:http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
ALTER USER postgres WITH PASSWORD 'tmppassword';
Smazat a znovu přidat uživatele
Pokud se pokusíte odstranit a znovu přidat uživatele, můžete zachytit chybovou zprávu. Pokud by to bylo neplatné, pak by při pokusu o smazání uživatele, který není uživatelem, vyvolalo chybu. http://www.postgresql.org/docs/8.0/static /sql-createuser.html