Si se requiere una contraseña o no, no tiene nada que ver con pg_shadow
y si una contraseña está realmente definida para el usuario. Sí, lo sé, eso es raro.
pg_hba.conf
controla el método de autenticación. Si desea solicitar una contraseña, use md5
autenticación. Si desea permitir el inicio de sesión sin contraseña para cualquier persona, use trust
. Si desea solicitar el mismo nombre de usuario en el sistema operativo que en PostgreSQL, use peer
(UNIX, solo para conexiones locales) o sspi
(Windows).
Si hay una contraseña establecida, pero pg_hba.conf
no le dice a PostgreSQL que lo solicite, la contraseña se ignora.
Si pg_hba.conf
le dice a PostgreSQL que solicite una contraseña pero no hay ninguna configurada, entonces todos los intentos de inicio de sesión fallarán sin importar qué contraseña se proporcione.
El usuario de postgres por defecto no tiene contraseña. Para eliminar una contraseña de usuario (en este caso para el usuario/rol de postgres):
alter role postgres password null;
También necesitamos establecer la autenticación en trust
en pg_hba.conf
- ver detalles