sql >> Base de Datos >  >> RDS >> PostgreSQL

Autenticar usuario y contraseña de PostgreSQL sin base de datos

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