run postgres example container conf compose postgresql authentication postgresql-9.1

example - PostgreSQL métodos de autenticación múltiple



postgresql conf docker (1)

No Solo se admite un método de autenticación para cualquier configuración dada.

Me encantaría si Pg pudiera admitir la autenticación alternativa, donde si una comprobación de identidad falla, permite en su lugar la autenticación md5. No es compatible con esto en este momento, sin embargo, y sospecho (no he verificado) que se requerirá un cambio de protocolo para admitirlo.

Lo que puede hacer es almacenar la contraseña en un archivo $HOME/.pgpass para el usuario del sistema de postgres . Dale el modo 0600 para que solo pueda postgres usuario de postgres y el usuario root . Ambos pueden obtener acceso directo a la base de datos y la configuración de todos modos. De esa manera obtienes fácil admin y md5 auth. En algunos sistemas, es posible que tenga que configurar y crear un directorio de inicio para el usuario de postgres antes de poder hacer esto. Consulte getent passwd postgres para ver si el usuario de postgres tiene un homedir y, de ser así, dónde está.

( ACTUALIZACIÓN: se usa para leer $HOME/.psqlrc , que es útil, pero .pgpass es adecuado para el almacenamiento de contraseñas)

¿Cómo puedo configurar múltiples métodos de autenticación para la misma regla de host / base de datos / usuario? Quiero poder iniciar sesión en mi usuario de Postgres utilizando sudo -u postgres psql -U postgres (sin tener que ingresar una contraseña de PostgreSQL) y psql -U postgres --password . Algo como lo siguiente en pg_hba.conf:

local all postgres md5 local all postgres peer

Solo puedo conseguir que un método o el otro funcionen al mismo tiempo.

Gracias.

(Estoy usando PostgreSQL 9.1).