Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro ao conectar no postgres docker

Sempre que tento conectar no BD Postgres, seja pelo Beekeper ou pelo GO, sempre me retorna esse erro autentica��o do tipo password falhou para usu�rio "postgres".

docker-compose.yml

version: '3'
services:
  postgres:
    image: "postgres"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=root
      - POSTGRES_DB=root      
    ports:
      - "5432:5432"
    volumes:
      - ./migrations/docker-database-initial.sql:/docker-entrypoint-initdb.d/docker-database-initial.sql   

  pgadmin-compose:
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: "email@email.com"
      PGADMIN_DEFAULT_PASSWORD: "123456"
    ports:
      - "54321:80"
    depends_on:
      - postgres

Tela de conexão do beekeper

Tela pgAdmin

Detalhe que as credenciais são as mesmas utilizadas para registrar o server no pg Admin. Alguém sabe o que pode ser isso?

4 respostas

Olá, Rafael!

Pelo que você descreveu e pelas imagens fornecidas, parece que você está enfrentando um problema de autenticação com o PostgreSQL em um container Docker. A mensagem de erro "autenticação do tipo password falhou para usuário 'postgres'" indica que a senha fornecida não está correta para o usuário 'postgres'.

Analisando o seu arquivo docker-compose.yml, você definiu a senha do usuário 'postgres' como 'root'. No entanto, na tela de conexão do Beekeeper Studio, você inseriu 'root' como o nome do banco de dados padrão, mas não é possível ver qual usuário e senha foram inseridos. Certifique-se de que você está usando 'postgres' como usuário e 'root' como senha ao tentar se conectar.

Além disso, na segunda imagem do pgAdmin, é possível ver que você conseguiu se conectar e executar uma consulta SQL, o que indica que as credenciais funcionaram nesse caso. Isso sugere que o problema pode estar na forma como você está inserindo as credenciais no Beekeeper Studio ou no código Go.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique se você está usando as credenciais corretas ('postgres' como usuário e 'root' como senha) no Beekeeper Studio.
  2. Certifique-se de que o serviço do PostgreSQL no Docker está rodando sem problemas e que as portas estão corretamente mapeadas, como definido no seu docker-compose.yml.
  3. Se estiver tentando se conectar através do código Go, verifique se as credenciais estão corretas e se a string de conexão está formatada corretamente.
  4. Em alguns casos, pode ser necessário reiniciar o serviço do Docker para que as variáveis de ambiente sejam atualizadas corretamente.
  5. Se você alterou a senha do usuário 'postgres' diretamente no PostgreSQL, lembre-se de que essas alterações não são refletidas no docker-compose.yml. Você precisará atualizar a senha no arquivo de configuração e reiniciar o serviço do Docker.

Espero que essas sugestões ajudem a resolver o problema. Se após verificar esses pontos o erro persistir, vale a pena conferir os logs do container do PostgreSQL para mais informações sobre o que pode estar acontecendo.

Espero ter ajudado e bons estudos!

As credenciais inseridas estão corretas, inclusive foram com elas que registrei o server pelo pgAdmin também, acredito que pode estar sendo um problema de permissão mesmo. Eu rodei o docker pela wsl e pelo terminal do windows só para testar, está dando o mesmo erro.

Aparentemente a solicitação não está nem chegando, pois não está sendo registrado no log tentativas de conexão. Consigo acessar a porta 54321 pelo navegador tranquilamente, como foi mostrado nas imagens acima.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Estava com outra instância do postgres rodando na porta 5432 e então acabou dando esse conflito, alterei para espelhar através da porta 5423 e deu certo. Obrigado!