A autenticação de senha do Postgres falha

36

Instalei o PostgreSQL 9.1 e o pgadmin3 no Ubuntu Server 13.10.

Eu configurei o postgresql.conf com: listen_addresses = '*'

Também configurei o ph_hba.conf alterando as conexões entre pares para md5

Além disso, redefino a senha do postgres: sudo password postgres

depois reiniciou o serviço com sudo /etc/init.d/postgresql restart

Depois disso, tentei me conectar ao banco de dados padrão do PostgreSQL:

sudo -u postgres psql template1

mas o login falhou com esta mensagem de erro:

psql: FATAL:  password authentication failed for user "postgres"

então tentei fazer login no pgadmin, o que me deu o mesmo erro.

Eu li aqui que pode ser um erro de datas de validade da senha O usuário do PostgreSQL não pode se conectar ao servidor após alterar a senha

mas não consegui resolver porque não consigo entrar com o psql. Alguém agora como resolver este problema?

EDITAR

arquivo ph_hba:

Aqui

Captura de tela:

insira a descrição da imagem aqui

Shadin
fonte
7
Estou bastante irritado pelo fato de você ter clonado este post. Acabei de escrever uma resposta para isso, apenas para descobrir que você também postou uma pergunta idêntica ao stackoverflow.com que já tinha uma resposta aceita. Não copie e cole respostas entre sites, pois você está desperdiçando o tempo de todos e dificultando a localização de informações. Se você insistir em fazer isso, faça links entre eles.
Craig Ringer

Respostas:

66

Você está confundindo a senha do usuário unix "postgres" com a senha do banco de dados do usuário "postgres". Estes não são os mesmos.

Você se bloqueou, porque ativou a md5autenticação para o usuário do banco de dados postgressem definir uma senha para o usuário do banco de dados postgres.

Adicione uma nova linha ao topo de pg_hba.conf:

local    postgres     postgres     peer

reinicie / recarregue o PostgreSQL e:

sudo -u postgres psql

No prompt resultante:

ALTER USER postgres PASSWORD 'my_postgres_password';

remova a linha que você adicionou pg_hba.confe reinicie a página novamente. Agora você pode usar a senha definida acima para conectar-se ao PostgreSQL como postgresusuário.

Para saber mais, leia o capítulo "autenticação do cliente" do manual do usuário e os documentos empg_hba.conf .

Craig Ringer
fonte
1
Testando uma nova pg9.6.6 em um servidor UBUNTU 16 LTS ... E fiquei surpreso com todos esses "problemas para iniciantes". Chegue aqui com a solução ... Faça passo a passo ... A grande surpresa: não está funcionando! psql -W postgresql://postgres:postgres@localhostproduzindo novamente o mesmo "FATAL: a autenticação de senha falhou para o usuário 'postgres'"
Peter Krauss
Solução: todas as linhas de confiança está funcionando ...
Peter Krauss
Estou usando ssh ... Depois de colocar tudo de volta no md5, um por um (local, local, host ...), apenas a linha "host all 127.0.0.1/32 trust" não pode mudar, foi preservada com " Confiar em". Então, nova pergunta: por quê?
Peter Krauss
o pg_hba.confarquivo pertence ao usuário do sistema postgres. Eu sei apenas a senha do usuário do banco de dados postgres, então a pergunta é como edito esse arquivo conf sem alterar sua propriedade?
Shailen
Você pode dizer por favor, o que a linha local postgres postgres peerrealmente precisava pg_hba.conf? Tudo funciona bem sem ele
MaxCore
3

Tente modificar a senha do modelo de banco de dados1 usando este:

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1
pfugazza
fonte
Deu-me o mesmo erro, mas com o usuário "root" em vez do usuário "postgres"
Shadin
Você pode explicar por que isso pode ajudar?
Xliv #
2

no seu pg_hba.conf

# IPv4 local connections:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32         trust

se não funcionar, tente com

host    all         all         your_ip/32         trust

em seguida, reinicie sua base de dados, funcionará bem. se você confiar, não haverá necessidade de senha se você criar o MD5;

smn_onrocks
fonte
3
não usar essa abordagem em qualquer lugar, você deve sempre restringir o acesso do usuário a você dados
Most Wanted
a menos que você esteja executando um servidor CTF.
Pathfinder