Tôi có một cá thể cục bộ đang chạy của PostgreSql trên một máy linux. Khi tôi sử dụng psql
lệnh từ vỏ tôi thành công để đăng nhập mà không có bất kỳ vấn đề. Tôi cần phải kết nối với PostgreSql thông qua JDBC, nhưng tôi không biết chính xác những gì tôi nên vượt qua như tham số url
để DriverManager.getConnection()
.Kết nối với cá thể cục bộ của PostgreSql với JDBC
Bắt đầu bằng jdbc:postgresql:
nhưng điều gì sẽ xảy ra tiếp theo?
Tôi được nhóm hệ thống thông báo rằng cơ sở dữ liệu được tạo giống như tên người dùng. ví dụ. nếu người dùng của tôi là jutky
một db tên jutky
đã được tạo ra, nhưng khi tôi cố gắng để mở một kết nối đến jdbc:postgresql:jutky
tôi nhận được một lỗi
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jutky"
:(
thông tin bổ sung
Khi tôi đăng nhập qua psql
Tôi không được nhắc nhập mật khẩu, vì vậy khi tôi cố gắng đăng nhập qua JDBC, tôi chuyển một chuỗi trống dưới dạng mật khẩu - có đúng không, hoặc tôi có nên nhập null
hoặc một cái gì đó không?
Khi tôi gõ psql --help
trong vỏ tôi thấy trong phần còn lại dòng này:
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
Vì vậy, tôi hiểu rằng tôi kết nối với PostgreSQL qua một socket directory
, không có vấn đề gì đó để chuỗi URL trong JDBC?
EDIT
nhờ đầu tiên cho câu trả lời.
Thứ hai: lần đầu tiên tôi sử dụng JDBC và đặc biệt không phải lần đầu tiên tôi kết nối với PostgreSql từ JDBC, vì vậy tôi biết các quy tắc chung và tôi đã đọc tài liệu. Tuy nhiên trong trường hợp được mô tả tôi không chắc chắn làm thế nào chính xác tôi nên xây dựng chuỗi kết nối nếu trường hợp đang chạy qua socket directory
và tôi nên cung cấp mật khẩu nào. Vì khi tôi đăng nhập qua số psql
, tôi không được nhắc nhập mật khẩu.
Xin cảm ơn trước.
Tôi đã yêu cầu nhóm hệ thống kiểm tra vấn đề đó. Cảm ơn vì lời khuyên. – jutky
Ngoài ra hãy chắc chắn rằng listen_address = '*' được kích hoạt trong postgresql.conf. Nếu không, kết nối TCP/IP sẽ không thể thực hiện được (đó là những gì JDBC đang sử dụng, ngay cả với kết nối cục bộ) –
@jutky: Đã cập nhật. – axtavt