Utilisez la table système pg_roles
Postgres installe toujours une base de données appelée "postgres". postgres est la base de données à laquelle vous vous connectez lorsque vous ne vous connectez pas à une base de données. Il y a une table appelée pg_roles
.
Utilisez cette commande :
psql -U pgadmin -d postgres -c 'select * from pg_roles'
Ce qui renvoie ceci :
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 lignes)
Voir cette réponse :Comment vérifier si un l'utilisateur postgres existe ?
Testez-le en vous connectant
Essayez simplement de vous connecter avec le nom d'utilisateur/mot de passe fourni et entourez-le d'un try/catch, et si vous pouvez vous connecter, il est valide, sinon il n'est pas valide.
Modification de l'utilisateur
Vous pourrez peut-être recevoir un message d'erreur si vous modifiez un utilisateur qui n'existe pas :http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
ALTER USER postgres WITH PASSWORD 'tmppassword';
Supprimer et rajouter un utilisateur
Vous pourrez peut-être recevoir un message d'erreur si vous essayez de supprimer et de rajouter un utilisateur. Donc, s'il n'était pas valide, une erreur aurait été générée lorsque vous essayez de supprimer un non-utilisateur. http://www.postgresql.org/docs/8.0/static /sql-createuser.html