我目前正在尝试连接到R中的redshift数据库.这需要通过SSL连接完成,但我似乎无法找到指定要使用的证书文件路径的选项dbConnect.谷歌并没有出人意料地提供帮助.
是否真的难以通过R建立与红移的postgres SSL连接,或者我只是错过了一些基本的东西?
我有同样的问题在这里被问到使用R通过SSL连接到Redshift
但是,给出的答案需要证书验证.我想知道是否有办法在没有证书验证的情况下做到这一点?当我通过SQL客户端连接时,我只是添加它
?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
Run Code Online (Sandbox Code Playgroud)
如何在R中添加这些参数?
在此先感谢您的帮助!
我正在尝试使用该RPostgreSQL包从R内部连接到远程PostgreSQL数据库,并且我收到的错误似乎与连接的SSL设置有关.我已经验证我可以使用命令行连接psql,所以我知道连接是有效的并且可以从我的计算机访问.
我在R中连接的第一次尝试是以下(其中<MyHost>,并<MyPass>得到适当填写我的连接):
library(RPostgreSQL)
pg <- dbDriver( 'PostgreSQL' )
con = dbConnect( pg, host=<MyHost>, dbname='warehouse',
user='warehouse', password=<MyPass>, port=5432 )
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
RS-DBI driver: (could not connect warehouse@<MyHost>.com:5432 on
dbname "warehouse": FATAL: no pg_hba.conf entry for host "75.166.243.177",
user "warehouse", database "warehouse", SSL off
Run Code Online (Sandbox Code Playgroud)
我理解这意味着我需要对我的连接应用SSL加密,所以我尝试了以下,这似乎适用于OP:使用R通过SSL连接到Postgres
library(RPostgreSQL)
pg <- dbDriver( 'PostgreSQL' )
con = dbConnect( pg, host=<MyHost>, dbname='dbname=warehouse sslmode=require',
user='warehouse', password=<MyPass>, port=5432 )
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
RS-DBI driver: (could not connect warehouse@<MyHost>:5432 on dbname
"warehouse": sslmode value …Run Code Online (Sandbox Code Playgroud) 我无法在Windows(64位)上将PostgreSQL(在Heroku上)与RPostgreSQL连接起来.
我可以在Windows上将本地postgresql(而不是ssl)与RPostgreSQL连接起来.我可以在Windows上从PgAdmin连接Heroku上的PostgreSQL.我可以在OSX和Linux上使用RPostgreSQL连接Heroku上的PostgreSQL.
只有Windows上的RPostgreSQL无法连接Heroku PostgreSQL.
错误信息是:
Error in postgresqlNewConnection(drv, ...) :
RD-DBI driver: (could not connect....xxxxx
Run Code Online (Sandbox Code Playgroud)
有什么解决方案吗?