2
respostas

Problema ao tentar conectar no Postgre

Ao tentar compilar o projeto estou rebendo esse log:
Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']
Database driver: undefined/unknown
Database version: 18.0
Autocommit mode: undefined/unknown
Isolation level: undefined/unknown
Minimum pool size: undefined/unknown
Maximum pool size: undefined/unknown

Depois disso nenhuma tablea é criada no meu banco de dados "alura_series".
Gostaria de solucionar isso, pois quero seguir a aula e também manusear o banco de dados. Podeiram me ajudar a solucionar?

Observação: Aparentemente consegui solucionar.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Ola. Pelo log, o problema tá relacionado à configuração do datasource. O driver do PostgreSQL não está sendo reconhecido, por isso aparece como undefined/unknown. Alguns pontos para verificar:

  1. Confirme se o driver do PostgreSQL (por exemplo postgresql-42.x.x.jar) está presente no classpath do projeto.

  2. No arquivo de configuração (pode ser application.properties, application.yml ou similar), verifique se a URL de conexão está correta. O formato deve ser:

    spring.datasource.url=jdbc:postgresql://localhost:5432/alura_series
    spring.datasource.username=seu_usuario
    spring.datasource.password=sua_senha
    spring.datasource.driver-class-name=org.postgresql.Driver
    
  3. Veja se o banco alura_series existe no PostgreSQL. Se não existir, crie-o manualmente com:

    CREATE DATABASE alura_series;
    
  4. Certifique-se de que o serviço do PostgreSQL está em execução e que a porta configurada (normalmente 5432) está correta.

  5. Caso esteja usando Docker, confirme se a aplicação consegue enxergar o container do PostgreSQL (verifique host, rede e porta exposta).

Bem.. não sei o que aconteceu, eu apenas coloquei a porta no application_properties do jeito que você disse: spring.datasource.url=jdbc:postgresql://localhost:5432/alura_series
Coloquei o seguinte código na classe executável ScreenmatchApplication: @EntityScan(basePackages = "br.com.alura.screenmatch.model")
Verifiquei também no classpath do projeto, e encontrei o postgres: org.postgresql:postgresql:42.7.8

Criei uma classe para testar um código:
public class TesteConexao {
public static void main(String[] args) {
String url = "jdbc:postgresql://localhost:5432/alura_series";
String user = "postgres";
String password = "minhasenha";

    try (Connection conn = DriverManager.getConnection(url, user, password)) {
        System.out.println("✅ Conexão bem-sucedida!");
    } catch (Exception e) {
        System.out.println("❌ Erro ao conectar:");
        e.printStackTrace();
    }
}

}

retornou: Conexão bem sucedida.

Então, eu rodei a aplicação e ainda apareceu:
Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']
Database driver: undefined/unknown
Database version: 18.0
Autocommit mode: undefined/unknown
Isolation level: undefined/unknown
Minimum pool size: undefined/unknown
Maximum pool size: undefined/unknown

Porém... ao invés de apenas sair da aplicação eu fiz a busca por uma série, e por algum motivo após a busca, a tabela foi criada no meu banco postgres, mesmo com esse log aparecendo na tela. Diferente da aula em que a professora apenas entra no aplicativo e sai sem consultar nada e a tabela é criada, eu tive que fazer uma consulta, e parece que deu certo. No final das contas eu não entendi nada, mas parece que "deu bom".