我正在使用 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 运算符作为变通方法并没有帮助。
对接下来要尝试什么有什么想法吗?谢谢!
当人们在数据库中查找信息时,问题通常出在选择标准上,而不出在返回的数据上(除了这些数据量相当大之外)。
我建议尝试EXPLAIN SELECT data FROM public.config WHERE account_name = %s LIMIT 1;
问候,亚历杭德罗