问题标签 [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.
python - 带有 pg8000 的 PostgreSQL - 从 SQL 插入结果到另一个表
我正在尝试使用 Python 的 pg8000 驱动程序将行从 PostgreSQL 表复制到另一个表。这是代码:
我现在想要的是将结果完全插入到新表中。它应该是这样的:
但不能以这种方式运行,我不知道如何解决它。并非所有字段都是字符串类型,也许应该以某种方式修复?
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 文件。
python - Psycopg2:引发意外:InterfaceError('仅支持协议 3',)
我正在使用 Django,使用 Psycopg2 适配器的 PostgreSQL 设置。启动服务器后,几分钟后出现此错误。我检查了Django + Psycopg2: InterfaceError: only protocol 3 supported。
它说最新版本的 Psycopg2 需要版本高于 7.4 的 PostgreSQL。我正在使用 9.3.6 版,但仍然出现此问题。
需要解决方案。
python - 如何在 psycopg2 连接池中使用“INSERT”?
我使用 psycopg2 在 Python 上连接到 PostgreSQL,我想使用连接池。
当我执行 INSERT 查询时,我不知道应该做什么来代替 commit() 和 rollback()。
如果没有 commit(),我不会得到插入记录的 id。
python - psycopg2 错误:DatabaseError:没有来自 libpq 的消息的错误
我有一个应用程序可以解析 csv 文件中的数据并将其加载到 Postgres 9.3 数据库中。在串行执行中插入语句/游标执行没有问题。
我在混合中添加了 celery 以添加数据文件的并行解析和插入。解析工作正常。但是,我去运行插入语句,我得到:
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
python - 正确使用 psycopg2 的序列化
我正在使用序列化事务隔离访问一个 postgresql 表。我正在做这样的事情(conn
在该连接中使用现有的 psycopg2 连接和光标,cur
:
这样做的目的是在序列化争用的情况下重试。现在,这在很多时候都可以正常工作。但是,在TransactionRollbackError
陷阱中进行一次迭代后,我经常会收到此错误:
current transaction is aborted, commands ignored until end of transaction block
. 显然,以这种方式旋转以避免序列化争用是不合适的?我应该以不同的方式这样做吗?
一些注意事项:我正在使用不同的进程访问表(它们都是相同的并且做同样的事情:选择、递增和更新/插入表。)这些进程中的每一个都有自己的连接conn
,它们不共享联系。
另一个注意事项:似乎在通过TransactionRollbackError
异常块一次之后,在 while 循环的下一次旋转中,它最终进入了Exception
异常块。
还有一点需要注意的是:同时运行的进程数对错误的频率有直接影响,因为更多的进程往往会产生更多的错误。因此,存在某种争论。我的印象是使用带有重试的序列化事务隔离(如在我的演示代码中)可以解决此问题。
python - 如果不存在,如何 Python PostgreSQL 插入?
我有一个使用 Psycopg 适配器的 python 脚本;我正在解析一个 JSON 数组并插入到我的 PostgreSQL 数据库中。
每次我再次运行脚本时,我都会得到以下信息:
如何运行插入脚本以忽略数据库中的现有条目?
编辑:感谢所有的回复......我试图不覆盖任何数据,只添加(如果 PK 尚未在表中),并忽略任何错误。就我而言,我只会添加新条目,从不更新数据。
python - 在 python 脚本中使用 psycopg 将日期放在文件名 postgres 中
我正在使用 python 脚本(使用 psycopg2)将推文流式传输到 postgres 数据库。我希望能够在 Windows 任务管理器中安排这个脚本。我必须克服的唯一问题是能够在 postgres 中重命名表。可能吗?
** 更新
这个答案确实让我更进一步,现在它只是抱怨数字。
python - psycopg2 OperationalError:无效的连接选项
我正在使用记录库连接到红移数据库。我的 db_url 类似于
我正在使用这段代码连接到数据库。在我的本地机器上它工作得很好。
但是在服务器机器上它给了我这个错误
两台机器都安装了相同版本的库
唯一不同的是操作系统。我的本地有 Mac OX,而服务器是打开的CentOS 6.7
我无法修复此错误。