使用R通过SSL连接到Postgres

Mar*_*iaS 7 postgresql ssl r

我有同样的问题在这里被问到使用R通过SSL连接到Redshift

但是,给出的答案需要证书验证.我想知道是否有办法在没有证书验证的情况下做到这一点?当我通过SQL客户端连接时,我只是添加它

?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
Run Code Online (Sandbox Code Playgroud)

如何在R中添加这些参数?

在此先感谢您的帮助!

dar*_*zig 6

尝试或者:而不是传递verify-full给:sslmoderequireallow

dbConnect(dbDriver('PostgreSQL'),
    dbname   = 'dbname=foobar sslmode=require',
    host     = 'foobar.redshift.amazonaws.com',
    port     = 5439,
    user     = 'foobar',
    password = 'foobar')
Run Code Online (Sandbox Code Playgroud)

  • 将sslmode = require添加到dbname会导致Rstudio的问题 (2认同)

chr*_*owe 6

目前,https://github.com/r-dbi/RPostgres似乎是更现代和更维护的软件包。这就是对我有用的...

install.packages("RPostgres")
require(RPostgres)

db = dbConnect(
  Postgres(), 
  user = 'user',
  password = 'password',
  dbname = 'dbname',
  host = 'host',
  port = port,
  sslmode = 'require'
)

dbListTables(db)
Run Code Online (Sandbox Code Playgroud)