我在Windows 7 64位下的R 2.15.2上使用RPostgreSQL 0.4庫(在R 2.15.3上編譯)與PostgreSQL接口。當連接到本地主機上的PostgreSQL數據庫時,這工作正常。我試圖讓我的R代碼在Heroku上運行一個遠程PostgreSQL數據庫。我可以從我的機器上的psql命令shell連接到Heroku的PostgreSQL數據庫,並且連接沒有問題。我收到消息:使用RPostgreSQL從R遠程連接到Heroku上的PostgreSQL問題
psql (9.2.3, server 9.1.9)
WARNING: psql version 9.2, server version 9.1.
Some psql features might not work.
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
顯然,psql使用SSL進行連接。當我嘗試使用RPostgreSQL庫例程數據庫連接(),但是連接,提供準確使用DNAME =,主機=,端口相同的憑證=,USER =,密碼=,連接失敗與投訴:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect <user>@<hostname> on dbname <dbname>)
Calls: source ... .valueClassTest -> is -> is -> postgresqlNewConnection -> .Call
Execution halted
我知道如果你想遠程訪問他們的數據庫,Heroku堅持使用SSL連接,所以R接口例程dbConnect()似乎沒有嘗試使用SSL。有什麼我可以做的,以獲得從R到Heroku遠程連接到PostgreSQL工作?
小心'sslfactory = org.postgresql.ssl.NonValidatingFactory'部分很重要! – delaye 2014-10-20 17:33:12