3
respostas

[Projeto] Senha errada no DB

A senha do usuário 'alura' está errada na imagem do container fornecida para a aula:

psql -h localhost -d logsdb -U alura
Password for user alura:
psql: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "alura"
connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "alura"

No código está esta senha errada:

# postgres
spring.datasource.url=jdbc:postgresql://${SPRING_DATASOURCE_URL:localhost}:5432/logsdb
spring.jpa.hibernate.ddl-auto=update
spring.datasource.platform=postgres
spring.datasource.username=alura
spring.datasource.password=nJ6vsW37rCd1v88

3 respostas

Ola, e qual seria a senha correta ?

Esperando da ALURA e do instrutor Kleber de Paiva Siqueira Costa uma resposta.

Oi, Estudante.

Primeiramente, sinto muito pela demora em te responder, o seu tópico acabou saindo do nosso radar.

Analisando a estrutura do docker-compose.yml desse curso, notamos que a imagem kdpsc/alura:database-api-cursos é uma imagem pré-configurada.

O erro de "password authentication failed" acontece porque, ao subir o container pela primeira vez, o PostgreSQL cria o banco de dados e define as credenciais. Se houver qualquer divergência entre o que está no seu application.properties e o que foi gravado no volume do Docker, a conexão será recusada.

Pra resolver esse problema, tente os seguintes passos:

1. Verifique a senha no seu código
No arquivo application.properties, a senha deve ser exatamente:
spring.datasource.password=nJ6vsW37rCdlv88
(Certifique-se de que não existam espaços em branco antes ou depois da senha).

2. Resetar o Volume do Docker (Caminho mais garantido)
Se você já tentou subir o projeto antes com outras configurações, o Docker pode ter mantido a senha antiga em um cache de volume. Para limpar tudo e subir a stack "fresca", rode no terminal:

docker-compose down -v
docker-compose up -d

O parâmetro -v remove os volumes antigos, garantindo que as configurações da imagem atual sejam aplicadas do zero.

3. Criar o Banco de Dados manualmente
Caso a conexão funcione, mas o erro mude para "database logsdb does not exist", você pode criá-lo acessando o terminal do container:

docker exec -it database-api-cursos psql -U root -d postgres

E dentro do terminal do Postgres:

CREATE DATABASE logsdb;
ALTER ROLE alura WITH PASSWORD 'nJ6vsW37rCdlv88';

Tente realizar o reset do volume com o down -v e conte para a gente se a aplicação conseguiu estabelecer o "handshake" com o banco!

Se nada disso funcionar, por favor, suba sua aplicação completa no GitHub, assim poderei baixar para fazer testes na minha máquina.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!