Ngoài các câu trả lời khác, lưu ý rằng theo mặc định, Postgres được định cấu hình để chấp nhận các kết nối qua ổ cắm Unix với xác thực dựa trên tài khoản hệ điều hành của bạn, đó là lý do tại sao psql
hoạt động tốt và không yêu cầu mật khẩu.
Kết nối JDBC được thực hiện qua TCP / IP với xác thực mật khẩu, vì vậy bạn cần sửa đổi pg_hba.conf
cho phù hợp. Ví dụ:dòng này cho phép kết nối TCP / IP từ cùng một máy đến tất cả cơ sở dữ liệu cho tất cả người dùng có xác thực mật khẩu:
host all all 127.0.0.1/32 md5
Sau khi thêm dòng này jdbc:postgresql:databasename
sẽ hoạt động.
CHỈNH SỬA: Bạn không thể tạo kết nối JDBC qua Unix socket vì trình điều khiển PostgreSQL JDBC chỉ có thể hoạt động qua TCP / IP. Mật khẩu bạn sử dụng khi tạo kết nối JDBC là mật khẩu được gán cho người dùng của bạn. Nếu bạn không có nó, bạn có thể gán nó, ví dụ:bằng cách sử dụng ALTER USER
yêu cầu. Xem 19.3. Phương thức xác thực
.
Xem thêm: