【发布时间】:2017-06-25 06:43:15
【问题描述】:
我在使用 RPostgreSQL 创建与 AWS 托管的 PostgreSQL 数据库的 SSL 连接时遇到问题。
这是我迄今为止尝试过的:
- 在 AWS 上创建了 PostgreSQL 数据库。
- 将数据库参数“rds.force_ssl”设置为 1。
- 从https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem 下载了 AWS 公钥
- 使用 psql 从 Windows 命令提示符测试连接(它可以工作)。
-
在 R 中执行以下操作:
library(RPostgreSQL) cert <- paste0("C:/Users/johnr/Downloads/", "rds-combined-ca-bundle.pem") dbname <- paste0("dbname=", "flargnog", " ", "sslrootcert=", cert, " ", "sslmode=verify-full") host <- "xxxxxx.xxxxx.us-region-2.rds.amazonaws.com" con <- dbConnect(dbDriver("PostgreSQL"), user="username", host=host, port=5432, dbname=dbname, password="abcd1234!")
执行最后一条语句后收到错误消息:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect username@xxxxxx.xxxxx.us-region-2.rds.amazonaws.com on dbname "flargnog"
如果我将 rds.force_ssl 设置更改为 0(并从 dbname 中删除 ssl 内容),则连接工作正常。
我查看了 Stackoverflow 上与此问题相关的其他帖子。 This 和 this 似乎表明由于 RPostgreSQL 的问题而无法建立 SSL 连接。但是,this post 表示可以。
任何指导将不胜感激!
【问题讨论】:
标签: r postgresql ssl