gpt4 book ai didi

python - Postgres 无法在 Python 中获取数据

转载 作者:行者123 更新时间:2023-11-29 12:53:19 25 4
gpt4 key购买 nike

我正在使用带有 psycopg2 模块的 Python 从 Postgres 数据库获取数据。

数据库很大(几十GB)。

一切似乎都正常,我正在根据获取的数据创建对象。但是,在创建了约 160000 个对象后,出现以下错误:

Error

我想原因是数据量大,但我无法在任何地方在线搜索解决方案。我不知道使用任何代理,以前从未在这台机器上使用过任何代理,数据库在 localhost 上。

最佳答案

有趣的是,“这是一个本地服务器,所以我不会对 SQL 注入(inject)开放”的立场经常导致人们认为字符串插值在某种程度上比参数化查询更容易。在您的情况下,它以:

'... cookie_id = \'{}\''.format(cookie)

所以你最终得到了一些不太清晰且失败的东西(尽管我不知 Prop 体的错误是如何发生的)。使用参数化:

cursor.execute("SELECT user_id, created_at FROM cookies WHERE cookie_id = %s ORDER BY created_at DESC;", (cookie,))

最重要的是,始终以正确的方式行事。请注意,在某些情况下您必须使用字符串插值,例如对于表名:

cursor.execute("SELECT * FROM %s", (table_name,)) # Not valid
cursor.execute("SELECT * FROM {}".format(table_name)) # Valid

在这些情况下,如果其他人可以与代码交互,您需要采取其他预防措施。

关于python - Postgres 无法在 Python 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49038635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com