Usar la tabla del sistema pg_roles
Postgres siempre instala una base de datos llamada "postgres". postgres es la base de datos a la que se conecta cuando no se está conectando a una base de datos. Hay una tabla llamada pg_roles
.
Usa este comando:
psql -U pgadmin -d postgres -c 'select * from pg_roles'
Que devuelve esto:
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 filas)
Consulte esta respuesta:Cómo comprobar si un existe el usuario de postgres?
Pruébalo iniciando sesión
Simplemente intente iniciar sesión con el nombre de usuario/contraseña proporcionado y rodéelo con un intento/captura, y si puede iniciar sesión, entonces es válido; de lo contrario, no es válido.
Alteración del usuario
Es posible que pueda recibir un mensaje de error si modifica un usuario que no existe:http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
ALTER USER postgres WITH PASSWORD 'tmppassword';
Eliminar y volver a agregar usuario
Es posible que pueda recibir un mensaje de error si intenta eliminar y volver a agregar un usuario. Entonces, si no fuera válido, habría arrojado un error cuando intenta eliminar a un no usuario. http://www.postgresql.org/docs/8.0/static /sql-createuser.html