【原文】
同様のSOの質問をいくつか見ましたが、OSに関連するものはないと思います。
簡単に言うと、これは Redshift への SSL 接続を確立しようとしたときに表示されるものです。
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv,
host = "XXXXXXXX.us-east-1.redshift.amazonaws.com",
port = 5439,
user = "XXXXXXXX",
password = "XXXXXXXX",
dbname = "db1")
> Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect XXXXXXXX@XXXXXXXX.us-east-1.redshift.amazonaws.com on dbname "db1")
私は次のことを試しましたが、どれもうまくいきませんでした。
- R を使用して SSL 経由で Redshift に接続する
- PostgreSQL から R へのファイルのインポート
- R を使用して SSL 経由で Postgres に接続する
- https://groups.google.com/forum/#!topic/rpostgresql-dev/ELnVUJqjDbk
AWS に EC2 ノード (Ubuntu) があり、オフィスに別の Mac Pro があるので、同じコードを使用して両方から接続しようとしました。
Linux システムは、まったく同じコードをコピーして貼り付けることで機能します。Sys.info()
Linux サーバー上の は次のとおりです。
sysname Linux
release 3.13.0-48-generic
version #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015
nodename ip-xx-xxx-xx-xx
machine x86_64
login unknown
user bcui
effective_user bcui
ただし、Mac Pro はまったく同じエラー メッセージで失敗しました。これがMacですSys.info()
(私のMacラップトップと同じです):
sysname Darwin
release 15.3.0
version Darwin Kernel Version 15.3.0:
Thu Dec 10 18:40:58 PST 2015;
root:xnu-3248.30.4~1/RELEASE_X86_64
nodename bcui-MBP.local
machine x86_64
login bcui
user bcui
effective_user bcui
このエラー メッセージの原因は、Mac と Linux の構成の違いでしょうか?
【2016/02/10更新】
R とすべての関連ファイルをアンインストールしてから、homebrew から R を再インストールしようとしました。
brew tap homebrew/science
brew install R
同じエラー メッセージ:
> Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect XXXXXXXX@XXXXXXXX.us-east-1.redshift.amazonaws.com on dbname "db1")
参考までに、同じコードを使用して他の非 SSL Redshift クラスターに接続できるため、Mac の openssl に関連するものである可能性があります。
【2016/02/11更新】
@MasashiMiyazaki のコメントからの詳細情報:
psql
CLI経由で接続して使用しましたが、正常に動作します。さらに、Python モジュールを使用して正常に接続することもできますpsycopg2
。ただし、機能させるには、次の行を無効にする必要があります。.bash_profile
export DYLD_LIBRARY_PATH=/usr/lib:$DYLD_LIBRARY_PATH