Encontrei isso com quatro funções que criei:
Após alterar a senha de um usuário no pgAdmin III usando a GUI (1), esse usuário não pode mais fazer login.
Mensagem de erro do pgAdmin III show:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Meu sistema: Postgresql 9.2 no Ubuntu 12.04
Existe alguma maneira de corrigir isso?
(1): faça o login com a conta postgres, clique com o botão direito do mouse em Login Roles, vá para a aba 'Definition' e digite a senha
fonte
trust
oupeer
nopg_hba.conf
arquivo desta conta.A coisa mais simples a fazer é efetuar login com o psql ou pgAdmin e
Agora, se você não conseguir fazer login com uma conta de superusuário, poderá se recuperar alterando as configurações de pg_hba.conf para esse usuário e recarregando a configuração (às vezes acho que isso requer a reinicialização do servidor, mas não sei por que).
O que você pode fazer é adicionar uma linha que permita efetuar login usando o método ident (ponto 9.2) (se você puder usar uma conta de sistema local com o mesmo nome que o usuário) para conexões locais para o usuário ou (se isso não é possível) definido como "confiar" (muito temporariamente!). Se estiver usando confiança, recue o mais rápido possível, pois isso significa "confiar que o usuário é quem ele afirma!" e, consequentemente, é perigoso deixar essa configuração ativada fora das necessidades imediatas de recuperação.
Depois de fazer o login, você pode redefinir a senha acima.
fonte
Para a variante do Windows - Eu também experimentei esse bug desagradável por causa do pgAdmin para minha instalação do Windows x64 da versão 9.2. Deixou minha produção paralisada.
Na pasta
C:\Program Files\PostgreSQL\9.2\data
ouC:\Program Files (x86)\PostgreSQL\9.**x**\data
, você encontrará o arquivo de texto pg_hba.conf .Encontre as seguintes linhas:
e altere METHOD md5 para "trust" assim:
Do
Windows>Run
tipo "services.msc" e [enter] encontre a instância correta do PostgreSQL e reinicie-a.Sua segurança de banco de dados está agora totalmente aberta! Preste atenção ao aviso para retorná-lo ao md5 após alterar o tempo de expiração da senha do usuário para dizer o ano 2099 para todos os usuários relevantes.
fonte
Se você ainda não tentou isso, verifique seu arquivo pg_hba.conf. Será nomeado algo como /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); você pode precisar usar 'find / -name pg_hba.conf' para localizá-lo.
Na parte inferior do arquivo, altere os valores 'METHOD' para 'trust' para testes locais (consulte os documentos do postgres para obter informações completas). Reinicie a máquina para garantir que tudo esteja limpo e que os novos parâmetros sejam lidos.
Espero que isso cure suas desgraças. Ele resolveu meus problemas no Fedora 20 com o PostgreSQL 9.3.
ATUALIZAÇÃO 14-10-2016:
No Ubuntu, o nome do arquivo necessário é
/etc/postgresql/9.5/main/pg_hba.conf
. Apenas para testes locais , modifique-o para ficar assim:As duas linhas com o método "confiança" são novas. Eles permitem que você se conecte sem um nome de usuário / senha.
Quando concluído, você precisará reiniciar o servidor via:
fonte
pg_hba.conf
efeito entre em vigor, você precisa apenas de uma recarga, não de uma reinicialização. Além disso, sua sugestão parece incompleta, pois não está claro como isso resolveria o problema no final.Acabei de ter o mesmo problema e constatou-se que eu tinha vários usuários com o mesmo nome (casos diferentes). Depois que mesclei a propriedade e removi uma, ficou pelo menos claro. Dependendo do método de conexão, o caso não foi necessariamente transferido para autenticação.
fonte