问题标签 [psycopg2]

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 投票
4 回答
67717 浏览

python - 如何使用 Python 将“NULL”值插入 PostgreSQL 数据库?

当变量在 Python 中时,是否有向 PostgreSQL 数据库输入NULL键值的好习惯?None

运行此查询:

当is时导致TypeError异常。user_idNone

当值为 时,如何使用驱动程序将 aNULL插入数据库?Nonepsycopg2

0 投票
3 回答
20276 浏览

python - 关于postgresql绑定变量的问题

我正在查看问题并决定尝试使用绑定变量。我用

看这两组所用的时间,上面似乎没有太大的时差。事实上,第二个需要更长的时间。如果我在某个地方犯了错误,有人可以纠正我吗?在这里使用 psycopg2。

0 投票
3 回答
171 浏览

django - 为什么 psycopg2 不会为查询引用这些字符串?

使用 psycopg2 引擎用 django 编写应用程序。它似乎并不总是想引用我的字符串。这是一个测试用例:

没有引用这些字符串的原因可能是什么?例如,“共同点”:

不确定问题出在我的实现、psycopg2 还是 django ORM 中。我会很感激任何想法。

0 投票
1 回答
438 浏览

python - 使用列表使用 psycoyg2 python 输入数据(缺少数据)

想从 cvs 中获取一些缺失值的数据到 postgresql 中。我很高兴使用字符串插入。我想要一个快速的是使用列表或类似的东西来做到这一点。我还需要检查缺失值并替换,否则会出错。

错误回溯(最后一次调用):文件“/home/matthew/workspace/dfdsggd/try_db_thing.py”,第 41 行,在 cursor.execute(sql_insert) psycopg2.ProgrammingError:在“。”或附近出现语法错误 第 1 行:...ORDER_ADM,MONTH_ADM,DAY_ADM,YEAR_ADM) 值 (2,6,7,.,3,5,7) ^

0 投票
2 回答
1428 浏览

python - Python,SQL:将读取的列设置为参数

我有一个 SQL 查询,在 Python 中使用Psycopg2疯狂。查询从表中读取一些列arches

我想参数化这个查询,这样它就不会指定使用字符串连接所需的列,而是作为参数 - 一种更优雅的方式。

天真的方法是SELECT *过滤掉我需要的列。但这会给数据库和网络带来不必要的数据负担,所以我宁愿避免它。

有任何想法吗?

亚当

0 投票
2 回答
2421 浏览

python - 从表中选择数据并插入到不同的数据库中

我正在使用 python 和 psycopg2 远程查询一些 psql 数据库,我试图找出从远程表中选择我需要的数据并将其插入到单独数据库(本地应用程序服务器)上的表中的最佳方法)。

我读过的大部分内容都指示我避免执行许多操作并着眼于 COPY 操作,但我不确定如何在特定的 select 语句而不是整个表上实现这一点。我应该朝这个方向前进还是完全离开?

0 投票
1 回答
381 浏览

python - Python/postgres:将 mxDateTime 转换为内置日期时间对象有什么好处?

我继承的一些代码使用 Python 的 psycopg2 模块从 Postgres 数据库查询返回 mxDateTime 对象。我猜这种行为是出于历史原因,但想知道是否还有其他解释。鉴于我已经通过我继承的大型库获得了 mxDateTime 依赖项,那么在对这些日期进行操作之前转换为内置的 datetime 数据类型有什么好处吗?

0 投票
1 回答
654 浏览

python - Postgres 8.4.4 + psycopg2 + python 2.6.5 + Win7 不稳定

您可以在问题的标题中看到我正在使用的软件组件的组合。

我在 Postgres 服务器(Win 7 Pro)上运行了一个简单的 10 表数据库。我有客户端应用程序(python 使用 psycopg 连接到 Postgres)以随机间隔连接到数据库以执行相对较轻的事务。一次只有一个客户端应用程序执行任何类型的繁重事务,并且通常小于 500 毫秒。他们中的其他人花费更多时间连接而不是实际等待数据库执行事务。关键是数据库处于轻负载状态,但负载在读取和写入之间平均分配。

我的客户端应用程序本身作为服务器/服务运行。我发现能够(1)完全关闭 Postgres 服务器,以及(2)通过使用键盘中断终止客户端应用程序来破坏数据库是很常见的。

通过(1),我的意思是服务器上的 Postgres 进程中止,需要重新启动服务。

通过(2),我的意思是每当客户端在重新启动并且(可能)完成“恢复模式”操作后尝试访问数据库时,数据库再次崩溃。我需要从数据库服务器中删除旧的数据库/模式,然后每次重建它以使其恢复到稳定状态。(在恢复模式后,我尝试了各种真空组合,看看是否提高了稳定性;真空运行,但是当客户端再次尝试访问数据库时,服务器仍然会快速关闭。)

我不记得当我使用“taskkill”杀死客户端应用程序时看到相同的效果 - 只有在使用键盘中断来关闭 python 进程时。它不会一直发生,但经常发生,这是一个主要问题(25%?)。

真正令人惊讶的是,客户端上的任何东西实际上都能够删除“企业级”数据库。任何人都可以分享有关如何提高稳健性的提示,并希望能帮助我理解为什么会发生这种情况?谢谢,米

0 投票
1 回答
321 浏览

python - django 在编写自定义字段时需要帮助

我知道 Django 没有用于 postgresql 的自定义类型“text []”的内置模型字段。看了文档后,我有一个问题。

我意识到我需要重写 db_type 方法以反映“文本 []”数据类型,但仅此而已吗?我需要为 to_python 方法写什么?我的意思是,返回的默认值已经是我可以使用的列表,对吗?

使用 psycopg2。

更新:我尝试使用上述字段创建一个表......但 django evolution 抛出一个错误:

任何人都可以开导吗?

0 投票
2 回答
292 浏览

django - 使用 Psycopg2 运行其他事务时,CLUSTER 不会缩小表大小

我们正在运行一个运行此存储过程的 python 进程,它将文件从某个目录导入到 postgres 数据库。这些文件首先导入到内存表中,然后导入到磁盘表中。内存表的实际大小永远不会超过 30 MB。随着该表不断更新,表的大小会增长(因为死元组)。为了保持检查,我们需要对表执行 CLUSTER 操作。我正在使用 psycopg2 模块运行存储过程和 CLUSTER 表,但如果导入过程正在运行,表的大小永远不会下降。但是如果我停止导入过程并运行 CLUSTER,那么表的大小就会减小。由于性能原因,我应该能够在不停止导入过程的情况下运行 CLUSTER 命令。

我尝试了手动提交,ISOLATION_LEVEL_AUTOCOMMIT,但这些都没有奏效。以下是该过程的示例代码 -

使用类似的 conn 对象,我想每小时运行一次 CLUSTER 命令 -

另外,我尝试设置 -

另一条信息 - 我在 django 环境中运行所有这些。我无法使用 django 连接对象来完成任务,因为 - django 无法释放与我的线程代码的连接,并且很快数据库停止接受连接。这种混合环境可能对 psycopg 有影响吗?

很少的观察 -

  1. 在导入过程运行时运行 CLUSTER 命令 - 大小不会下降
  2. 当我停止导入过程然后运行 ​​CLUSTER - 大小确实下降
  3. 当我停止导入过程并重新开始导入过程时,然后运行 ​​CLUSTER 命令 - 大小确实会下降

对这个问题有什么想法吗?