execute() 在选择 json 类型的列时在 psycopg2 中挂起

问题描述 投票:0回答:1

我正在使用 psycopg2 在 Python 中查询 PostgreSQL 数据库。当尝试选择

json
类型的列时,执行语句挂起并且永远不会完成。选择任何其他列时,查询运行良好。从 pgAdmin 运行时,它也可以毫无问题地执行。

这是有问题的代码:

cur.execute("SELECT data FROM public.config WHERE account_name = %s LIMIT 1;")

其中

data
json
列。跑步

SELECT * FROM pg_stat_activity;

返回

wait_event: ClientRead
state: idle
对应的连接。

data
更改为
data::TEXT
或使用任何其他可用的 JSON 运算符作为变通方法并没有帮助。

对接下来要尝试什么有什么想法吗?谢谢!

python json postgresql psycopg2
1个回答
0
投票

当人们在数据库中查找信息时,问题通常出在选择标准上,而不出在返回的数据上(除了这些数据量相当大之外)。

我建议尝试EXPLAIN SELECT data FROM public.config WHERE account_name = %s LIMIT 1;

问候,亚历杭德罗

© www.soinside.com 2019 - 2024. All rights reserved.