1

レコードライブラリを使用して redshift データベースに接続しています。私のdb_urlは次のようなものです

postgresql://xxxxx.us-east-1.redshift.amazonaws.com:5439/customer?user=xxxxx&password=xxxxx

このコードを使用してdbに接続しています。私のローカルマシンでは、完全に正常に動作します。

import records
>>> conn_url = 'postgresql://xxxxx.us-east-1.redshift.amazonaws.com:5439/customer?user=xxxxx&password=xxxxx'
>>> db = records.Database(conn_url)

しかし、サーバーマシンではこのエラーが発生します

  File "<stdin>", line 1, in <module>
  File "/opt/extractor/virtualenv/hge/lib/python2.7/site-packages/records.py", line 177, in __init__
    self.db = psycopg2.connect(self.db_url, cursor_factory=RecordsCursor)
  File "/opt/extractor/virtualenv/hge/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
    conn = _connect(dsn, connection_factory=connection_factory, async=async)

psycopg2.OperationalError: invalid connection option "postgresql://xxxxx.us-east-1.redshift.amazonaws.com:5439/customer?user"

両方のマシンに同じバージョンのライブラリがインストールされています

psycopg2==2.6.1
records==0.3.0

違うのはOSだけです。私のローカルにはMac OXがありますが、サーバーはオンですCentOS 6.7

このエラーを修正できません。

4

1 に答える 1