问题标签 [psycopg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6009 浏览

python - 带有 pg8000 的 PostgreSQL - 从 SQL 插入结果到另一个表

我正在尝试使用 Python 的 pg8000 驱动程序将行从 PostgreSQL 表复制到另一个表。这是代码:

我现在想要的是将结果完全插入到新表中。它应该是这样的:

但不能以这种方式运行,我不知道如何解决它。并非所有字段都是字符串类型,也许应该以某种方式修复?

0 投票
0 回答
232 浏览

python - Django 和 jython-standalone

我对 Django 和 Jython 很陌生。我正在尝试创建可以部署到 Jboss 服务器的 war 文件。不幸的是,我对 psycopg2 库有疑问。

我正在使用 modjy servlet,所以我的库放在 WEB-INFO 下的 lib-python 文件夹中(它包含 Djongo 和 psycopg2 以及其他)。

应用程序部署到 Jboss 没有任何问题。不幸的是,当我尝试访问任何页面时,我会看到以下问题:

modjy.modjy_exceptions.ApplicationException:加载 psycopg2 模块时出错:没有名为 _psycopg 的模块

有人知道为什么吗?psycopg2 文件夹包含每个人都可以访问的 _psycopg.so 文件。

0 投票
0 回答
809 浏览

python - Psycopg2:引发意外:InterfaceError('仅支持协议 3',)

我正在使用 Django,使用 Psycopg2 适配器的 PostgreSQL 设置。启动服务器后,几分钟后出现此错误。我检查了Django + Psycopg2: InterfaceError: only protocol 3 supported

它说最新版本的 Psycopg2 需要版本高于 7.4 的 PostgreSQL。我正在使用 9.3.6 版,但仍然出现此问题。

需要解决方案。

0 投票
3 回答
11649 浏览

python - 如何在 psycopg2 连接池中使用“INSERT”?

我使用 psycopg2 在 Python 上连接到 PostgreSQL,我想使用连接池。

当我执行 INSERT 查询时,我不知道应该做什么来代替 commit() 和 rollback()。

如果没有 commit(),我不会得到插入记录的 id。

0 投票
1 回答
5409 浏览

python - psycopg2 错误:DatabaseError:没有来自 libpq 的消息的错误

我有一个应用程序可以解析 csv 文件中的数据并将其加载到 Postgres 9.3 数据库中。在串行执行中插入语句/游标执行没有问题。

我在混合中添加了 celery 以添加数据文件的并行解析和插入。解析工作正常。但是,我去运行插入语句,我得到:

0 投票
1 回答
2053 浏览

python - API 已启动,数据库已终止,数据库已启动,peewee.InterfaceError 连接已关闭

启动 app.py,然后杀死数据库并点击/api/foo给我:

peewee.OperationalError:无法连接到服务器:连接被拒绝

把数据库备份给我,点击/api/foo给我:

peewee.OperationalError: 由于管理员命令而终止连接\nSSL 连接已意外关闭\n

再次击中/api/foo给了我:

peewee.InterfaceError:连接已关闭

测试用例

test_case/__init__.py

test_case/__main__.py

test_case/foo/__init__.py

test_case/foo/models.py

test_case/foo/routes.py

Github gist 便于克隆。

0 投票
1 回答
1578 浏览

python - 正确使用 psycopg2 的序列化

我正在使用序列化事务隔离访问一个 postgresql 表。我正在做这样的事情(conn在该连接中使用现有的 psycopg2 连接和光标,cur

这样做的目的是在序列化争用的情况下重试。现在,这在很多时候都可以正常工作。但是,在TransactionRollbackError陷阱中进行一次迭代后,我经常会收到此错误:

current transaction is aborted, commands ignored until end of transaction block. 显然,以这种方式旋转以避免序列化争用是不合适的?我应该以不同的方式这样做吗?

一些注意事项:我正在使用不同的进程访问表(它们都是相同的并且做同样的事情:选择、递增和更新/插入表。)这些进程中的每一个都有自己的连接conn,它们不共享联系。

另一个注意事项:似乎在通过TransactionRollbackError异常块一次之后,在 while 循环的下一次旋转中,它最终进入了Exception异常块。

还有一点需要注意的是:同时运行的进程数对错误的频率有直接影响,因为更多的进程往往会产生更多的错误。因此,存在某种争论。我的印象是使用带有重试的序列化事务隔离(如在我的演示代码中)可以解决此问题。

0 投票
1 回答
2594 浏览

python - 如果不存在,如何 Python PostgreSQL 插入?

我有一个使用 Psycopg 适配器的 python 脚本;我正在解析一个 JSON 数组并插入到我的 PostgreSQL 数据库中。

每次我再次运行脚本时,我都会得到以下信息:

如何运行插入脚本以忽略数据库中的现有条目?

编辑:感谢所有的回复......我试图不覆盖任何数据,只添加(如果 PK 尚未在表中),并忽略任何错误。就我而言,我只会添加新条目,从不更新数据。

0 投票
1 回答
128 浏览

python - 在 python 脚本中使用 psycopg 将日期放在文件名 postgres 中

我正在使用 python 脚本(使用 psycopg2)将推文流式传输到 postgres 数据库。我希望能够在 Windows 任务管理器中安排这个脚本。我必须克服的唯一问题是能够在 postgres 中重命名表。可能吗?

** 更新

这个答案确实让我更进一步,现在它只是抱怨数字。

0 投票
1 回答
1856 浏览

python - psycopg2 OperationalError:无效的连接选项

我正在使用记录库连接到红移数据库。我的 db_url 类似于

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

但是在服务器机器上它给了我这个错误

两台机器都安装了相同版本的库

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

我无法修复此错误。