Brug systemtabellen pg_roles
Postgres installerer altid en database kaldet "postgres". postgres er den database, du opretter forbindelse til, når du ikke opretter forbindelse til en database. Der er en tabel kaldet pg_roles
.
Brug denne kommando:
psql -U pgadmin -d postgres -c 'select * from pg_roles'
Hvilket returnerer dette:
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 rækker)
Se dette svar:Sådan kontrollerer du, om en eksisterer en postgres-bruger?
Test det ved at logge ind
Prøv bare at logge ind med det medfølgende brugernavn/adgangskode og omslut det med en try/catch, og hvis du kan logge ind, er det gyldigt, ellers er det ikke gyldigt.
Ændring af brugeren
Du kan muligvis se en fejlmeddelelse, hvis du ændrer en bruger, der ikke eksisterer:http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
ALTER USER postgres WITH PASSWORD 'tmppassword';
Slet og tilføj bruger igen
Du kan muligvis se en fejlmeddelelse, hvis du forsøger at slette og tilføje en bruger igen. Så hvis det var ugyldigt, ville det have givet en fejl, når du forsøger at slette en ikke-bruger. http://www.postgresql.org/docs/8.0/static /sql-createuser.html