- Lo instalé
PostgreSQL
en laEC2
máquina y ahora quiero cambiar la contraseña del usuariopostgres
- hago
$ sudo -u postgres psql psql (9.1.5) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd'; ALTER ROLE
- Luego salgo del shell e intento iniciar sesión con una nueva contraseña
$ psql -U postgres -W Password for user postgres: psql: FATAL: Peer authentication failed for user "postgres"
Mi PostgreSQL
version es
$ psql --version
psql (PostgreSQL) 9.1.5
contains support for command-line editing
¿Qué es lo que estoy haciendo mal?
Gracias
ACTUALIZACIÓN
Hice cambios en pg_hba.conf
y así es como se ve ahora
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all peer
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Luego reinicié el postgres
$ sudo /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.1 database server [ OK ]
Traté de iniciar sesión nuevamente, pero fallé
$ psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
postgresql
postgresql-9.1
soñador
fuente
fuente
pg_hba.conf
está configurado de tal manera que no acepta la autenticación de contraseña.pg_hba.conf
Respuestas:
Como dijo willglynn, probablemente sea su archivo pg_hba.conf.
Si tiene la siguiente línea:
luego cámbielo a:
Eso debería permitirle iniciar sesión con su nueva contraseña (suponiendo que la proporcione correctamente) :)
fuente
peer
línea que se aplica a las conexiones locales (sockets de dominio UNIX) delpostgres
usuario. Eso fallará a menos que el otro extremo se ejecute comopostgres
usuario del sistema operativo . Consulte la documentación de pg_hba.conf para una mejor comprensión.django manage.py syncdb
, todavía leeré sobre lapg_hba.conf
documentación que mencionaste, muchas gracias por tu ayuda-h localhost
Solo quería agregar eso además de cambiar el
pg_hba.conf
archivo dea
Según la respuesta aceptada, la única forma en que podía iniciar sesión después de hacer lo mismo que estaba haciendo el OP era pasar la
-h
bandera al intentar iniciar sesión.Con suerte, esto ayudará a alguien en el futuro. Me estaba volviendo loco!
fuente
Tienes esto...
cambiar por esto:
y reinicie el servicio postgresql por
este trabajo para mi
fuente
pg_hba.conf
no necesita reiniciar Postgres. Recargar la configuración es suficiente. por ejemplo,pg_ctl ... reload
oselect pg_reload_conf()
Para la gente, que se está volviendo loca después de cambiar la contraseña muchas veces y probar todo lo mencionado aquí, recuerde verificar la caducidad de la validez del usuario. Puede configurarlo para que 'nunca caduque' así en psql 9.x:
fuente