- Eu instalei
PostgreSQL
naEC2
máquina e agora quero alterar a senha do usuáriopostgres
- eu faço
$ sudo -u postgres psql psql (9.1.5) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd'; ALTER ROLE
- Então eu saio do shell e tento entrar com a nova senha
$ psql -U postgres -W Password for user postgres: psql: FATAL: Peer authentication failed for user "postgres"
Minha PostgreSQL
versão é
$ psql --version
psql (PostgreSQL) 9.1.5
contains support for command-line editing
O que estou fazendo de errado?
Obrigado
ATUALIZAÇÃO
Fiz alterações pg_hba.conf
e é assim que parece agora
# 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
Então eu reiniciei o postgres
$ sudo /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.1 database server [ OK ]
Tentei fazer login novamente, mas falhei
$ psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
postgresql
postgresql-9.1
sonhador
fonte
fonte
pg_hba.conf
é configurado de tal forma que não está aceitando autenticação de senha.pg_hba.conf
Respostas:
Como willglynn disse, provavelmente é o seu arquivo pg_hba.conf.
Se você possui a seguinte linha:
então mude para:
Isso deve permitir que você faça login com sua nova senha (supondo que você a forneça corretamente) :)
fonte
peer
linha que se aplica às conexões locais (soquetes de domínio UNIX) dopostgres
usuário. Isso falhará, a menos que o outro extremo esteja sendo executado comopostgres
usuário do SO . Veja a documentação do pg_hba.conf para uma melhor compreensão.django manage.py syncdb
, eu ainda vai ler sobrepg_hba.conf
documentação que você mencionou, muito obrigado pela sua ajuda-h localhost
Eu só queria adicionar isso, além de alterar o
pg_hba.conf
arquivo depara
De acordo com a resposta aceita, a única maneira de entrar depois de fazer o mesmo que o OP estava fazendo era passar a
-h
bandeira ao tentar fazer login.Felizmente, isso ajudará alguém no futuro. Isso estava me deixando louco!
fonte
Você tem isto...
mudar por isso:
e reinicie o serviço postgresql
esse trabalho pra mim
fonte
pg_hba.conf
você não precisa reiniciar o Postgres. Recarregar a configuração é suficiente. por exemplo,pg_ctl ... reload
ouselect pg_reload_conf()
Para as pessoas que estão enlouquecendo depois de alterar a senha várias vezes e tentar tudo mencionado aqui, lembre-se de verificar a validade do usuário. Você pode configurá-lo para 'nunca expirar' assim no psql 9.x:
fonte