sql >> Database >  >> RDS >> PostgreSQL

PSQLEException:de server heeft om op wachtwoord gebaseerde authenticatie gevraagd, maar er is geen wachtwoord opgegeven

Ik vermoed dat je je boon niet in de Spring Container injecteert, dus gebruik zoiets als dit:

@Bean
public DataSource dataSource() {
    String url = "jdbc:postgresql://localhost:5433/<DATABASE_NAME>";

    String username = <USERNAME>;
    String password = <PASSWORD>;

    return DataSourceBuilder
            .create()
            .driverClassName("org.postgresql.Driver")
            .url(url)
            .username(username)
            .password(password)
            .build();
}

Trouwens in je jdbcUrl moet je de DatabaseName gebruiken, niet de TableName.

Opmerking :Ik denk dat het beter is om te gebruiken hoe Spring Boot alles al automatisch heeft geconfigureerd, dus ik raad je aan om zoiets als dit te doen:

@Configuration
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public class DatabaseConfig extends HikariConfig {
    @Bean
    public DataSource dataSource() {
        return new HikariDataSource(this);
    }
}

En gebruik de volgende eigenschappen:

spring.datasource.hikari.jdbcUrl=jdbc:postgresql://localhost:5433/blog
spring.datasource.hikari.username=user
spring.datasource.hikari.password=user
spring.datasource.hikari.driverClassName=org.postgresql.Driver

Je kunt hier een van mijn werkvoorbeelden bekijken:https://github.com/vladucuvoican/simple-blog/blob/master/src/main/resources/application.properties



  1. Update het configuratiebestand met uw nieuwe database-instellingen

  2. Tekenset wijzigen van latin1 naar UTF8 in MySQL

  3. Slaapstand codeert verkeerd tijdens persistente objecten [UTF-8]

  4. Genero verbinden met SQL Server