psycopg2 OperationalError:无效的连接选项

Posted

技术标签:

【中文标题】psycopg2 OperationalError:无效的连接选项【英文标题】:psycopg2 OperationalError: invalid connection option 【发布时间】:2016-04-19 11:06:04 【问题描述】:

我正在使用records 库连接到redshift 数据库。我的 db_url 类似于

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

我正在使用这段代码连接到数据库。在我的本地机器上它工作得很好。

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

唯一不同的是操作系统。我的本地有 Mac OX,而服务器在 CentOS 6.7

我无法修复此错误。

【问题讨论】:

【参考方案1】:

我已将我的记录库升级到 records==0.4.3 并且它工作正常

【讨论】:

以上是关于psycopg2 OperationalError:无效的连接选项的主要内容,如果未能解决你的问题,请参考以下文章

AWS ECS 上的 PostgreSQL:psycopg2.OperationalError 无效端口号 5432

odoo 12 psycopg2.OperationalError:无法将主机名“db”转换为地址

psycopg2.OperationalError:致命:密码认证

Django 设置:psycopg2.OperationalError: FATAL: Peer authentication failed for user "indivo"

Docker- django 在连接到 postgres 时抛出错误:psycopg2.OperationalError:无法连接到服务器:连接被拒绝

当我运行测试用例时,出现此错误: psycopg2.OperationalError: cursor "_django_curs_140351416325888_23" does