3
respostas

Erro usuario e senha do Database

Estou tomando um erro de usuario e senha do database, subi o docker. Quando executo a aplicação tomo o erro de usuario e senha.

{
  "timestamp" : "2025-01-03 11:22:19.518",
  "level" : "ERROR",
  "thread" : "restartedMain",
  "logger" : "com.zaxxer.hikari.pool.HikariPool",
  "message" : "HikariPool-1 - Exception during pool initialization.",
  "context" : "prod",
  "exception" : "org.postgresql.util.PSQLException: FATAL: password authentication failed for user \"alura\"\r\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:646)\r\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:180)\r\n\tat org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:235)\r\n\tat org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)\r\n\tat org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)\r\n\tat org.postgresql.Driver.makeConnection(Driver.java:402)\r\n\tat org.postgresql.Driver.connect(Driver.java:261)\r\n\tat com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)\r\n\tat com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364)\r\n\tat com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)\r\n\tat com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476)\r\n\tat com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)\r\n\tat com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)\r\n\tat com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)\r\n\tat org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:159)\r\n\tat org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:117)\r\n\tat org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:330)\r\n\tat org.springframework.boot.jdbc.EmbeddedDatabaseConnection.isEmbedded(EmbeddedDatabaseConnection.java:162)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateDefaultDdlAutoProvider.getDefaultDdlAuto(HibernateDefaultDdlAutoProvider.java:42)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.lambda$getVendorProperties$1(HibernateJpaConfiguration.java:130)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings.getDdlAuto(HibernateSettings.java:41)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineDdlAuto(HibernateProperties.java:143)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.getAdditionalProperties(HibernateProperties.java:103)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineHibernateProperties(HibernateProperties.java:95)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.getVendorProperties(HibernateJpaConfiguration.java:132)\r\n\tat org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.entityManagerFactory(JpaBaseConfiguration.java:132)\r\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)\r\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:580)\r\n\tat org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)\r\n\tat org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638)\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)\r\n\tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)\r\n\tat org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)\r\n\tat o

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

3 respostas

Olá Juliano. Tudo bem?

Parece que a autenticação com o banco de dados PostgreSQL está falhando devido a um problema com o usuário ou a senha. Aqui estão algumas dicas para resolver esse problema:

  1. Verifique se o usuário e a senha que você está usando na sua aplicação correspondem aos que foram configurados no banco de dados PostgreSQL. Você pode ter definido essas credenciais ao iniciar o container do PostgreSQL.

  2. Verifique o arquivo de configuração da sua aplicação (por exemplo, application.properties ou application.yml no caso de uma aplicação Spring Boot) e assegure-se de que as credenciais do banco de dados estejam corretas.

  3. Reinicie o Container: Caso tenha feito alterações nas credenciais, reinicie o container do PostgreSQL para garantir que as mudanças sejam aplicadas.

  4. Verifique os logs do container do PostgreSQL para obter mais detalhes sobre o erro de autenticação. Isso pode fornecer informações adicionais sobre o que está dando errado.

  5. Acesso ao Container: Você pode acessar o container do PostgreSQL para testar a conexão manualmente usando o comando psql e verificar se as credenciais funcionam.

Exemplo de como acessar o container e testar a conexão:

docker exec -it <nome_do_container> psql -U <usuario> -d <database>

Substitua <nome_do_container>, <usuario> e <database> pelos valores corretos.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

O erro é pelo usuário alura. Estou vendo como criar ele na arquivo yaml do docker antes de tentar conectar com ele.

LOG do DOCKER

2025-01-03 11:39:11 2025-01-03 14:39:11.667 UTC [40] FATAL:  password authentication failed for user "alura"
2025-01-03 11:39:11 2025-01-03 14:39:11.667 UTC [40] DETAIL:  Role "alura" does not exist.
2025-01-03 11:39:11     Connection matched file "/var/lib/postgresql/data/pg_hba.conf" line 128: "host all all all scram-sha-256"
2025-01-03 11:39:12 2025-01-03 14:39:12.994 UTC [41] FATAL:  password authentication failed for user "alura"
2025-01-03 11:39:12 2025-01-03 14:39:12.994 UTC [41] DETAIL:  Role "alura" does not exist.
2025-01-03 11:39:12     Connection matched file "/var/lib/postgresql/data/pg_hba.conf" line 128: "host all all all scram-sha-256"

Olá, Juliano.

Esse problema está ligado à ausência do usuário alura no banco de dados PostgreSQL. Você pode corrigir isso configurando o arquivo docker-compose.yml para criar o usuário e senha automaticamente ao inicializar o container.

Veja como ajustar o docker-compose.yml:


version: '3.8'
services:
  postgres:
    image: postgres:15
    container_name: postgres_container
    environment:
      POSTGRES_USER: alura
      POSTGRES_PASSWORD: senha123
      POSTGRES_DB: meu_banco
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:

Para corrigir:

  1. Altere as variáveis de ambiente no docker-compose.yml conforme o exemplo acima, onde:

    • POSTGRES_USER define o usuário (no seu caso, "alura").
    • POSTGRES_PASSWORD define a senha do usuário.
    • POSTGRES_DB cria o banco automaticamente.
  2. Suba o container novamente:

    
    docker-compose down && docker-compose up -d
    
  3. Verifique se o banco, usuário e senha estão configurados corretamente:

    
    docker exec -it postgres_container psql -U alura -d meu_banco
    

Sua aplicação deverá se conectar corretamente ao banco.

Fico à disposição. Abraços e bons estudos!