PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PSQLException:Máy chủ đã yêu cầu xác thực dựa trên mật khẩu, nhưng không có mật khẩu nào được cung cấp

Tôi đoán là bạn không tiêm bean của mình vào Spring Container, vì vậy hãy sử dụng một cái gì đó như sau:

@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();
}

Btw trong jdbcUrl của bạn, bạn cần sử dụng DatabaseName, không phải TableName.

Lưu ý :Tôi nghĩ tốt hơn nên tận dụng cách Spring Boot đã có mọi thứ được cấu hình tự động, vì vậy tôi khuyên bạn nên làm điều gì đó như sau:

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

Và sử dụng các thuộc tính sau:

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

Bạn có thể kiểm tra một trong các ví dụ làm việc của tôi tại đây: https://github.com/vladucuvoican/simple-blog/blob/master/src/main/resources/application.properties



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IServiceCollection không chứa định nghĩa hoặc phần mở rộng cho AddNpgsql

  2. Sử dụng con trỏ để phân trang trong PostgreSQL

  3. Phép chia số nguyên trả về 0

  4. Mẹo thực hành tốt nhất của PostgreSQL VACUUM và PHÂN TÍCH

  5. Tham gia các bảng từ các cơ sở dữ liệu khác nhau (PostgreSQL)