Tôi đang cố gắng kết nối với cơ sở dữ liệu Postgres từ xa với chế độ ssl = verify ca
. Vấn đề của tôi có vẻ tương tự như Connect to Redshift via SSL using R và Connect to Postgres via SSL using R, nhưng chúng không hoạt động đúng cách. Các lỗi luôn luôn làCách kết nối với PostgreSQL từ xa bằng R, xác thực chứng chỉ bắt buộc
Error in postgresqlNewConnection(drv, ...) : RS-DBI driver: (could not connect (null)@datadb1 on dbname "(null)"
Mã của tôi là một cái gì đó như thế này
library("RPostgreSQL")
host = 'datadb1'
dbname = 'test'
port = 5432
password = pw
username = 'pep'
pg_dsn = paste0(
'dbname=', dbname, ' ',
'sslrootcert=', "C://root-ca.crt", ' ',
"sslkey=C://pep.key", " ",
"sslcert=C://pep.crt",
'sslmode=verify-ca'
)
dbConnect(RPostgreSQL::PostgreSQL(), dbname=pg_dsn, host=host,
port=port, password=password, user=username)
Nó không phải là một vấn đề cơ sở dữ liệu chung mặc dù, bởi vì tôi có thể kết nối với db bằng Python. Cập nhật: Tôi đã nhầm lẫn khi chỉ định đường dẫn; lỗi thực sự là:
Error in postgresqlNewConnection(drv, ...) : RS-DBI driver: (could not connect [email protected] on dbname "test")
Nếu tôi chỉ thả tất cả các chứng chỉ SSL và chạy mã trên, đây là lỗi: 'Lỗi trong postgresqlNewConnection (drv, ...): Trình điều khiển RS-DBI: (không thể kết nối pep @ datadb1 trên dbname "test" ) '. Tôi nghĩ rằng tôi đọc ở đâu đó rằng RPostgreSQL không hỗ trợ kết nối SSL, vì vậy tôi có thể phải chuyển đổi hoàn toàn thư viện – Pep
Được rồi, đã chỉnh sửa câu trả lời để thử thêm một vài thứ. –
Cảm ơn bạn đã trải qua những khó khăn trong việc thiết lập nó và cho sự kiên nhẫn của bạn. Tôi đã làm hai điểm bạn đề cập, nhưng vẫn còn đưa ra cùng một lỗi. Tôi đã hỏi một vài người để kiểm tra nó trong trường hợp tôi đang thiếu sth, nhưng không có. Tôi đang nghĩ về một cách để tạo ra một ví dụ có thể tái tạo, nhưng tôi không thể nghĩ ra bất kỳ lúc nào – Pep