Postgres SSL SYSCALL错误:使用python和psycopg检测到EOF

2024-05-18 10:08:02 发布

您现在位置:Python中文网/ 问答频道 /正文

将psycopg2包与python 2.7一起使用时,我一直得到标题为error:psycopg2.DatabaseError:SSL SYSCALL error:EOF detected的错误

它只在我向pgrouting查询添加WHERE column LIKE ''%X%''子句时发生。例如:

SELECT id1 as node, cost FROM PGR_Driving_Distance(
  'SELECT id, source, target, cost 
     FROM edge_table
     WHERE cost IS NOT NULL and column LIKE ''%x%'' ',
  1, 10, false, false)

互联网上的线程暗示这是SSL的一个直观问题,但是每当我注释掉模式匹配方面的内容时,查询和与数据库的连接就可以正常工作。

这是运行Xubuntu 13.10的本地数据库。

经过进一步的调查:这可能是由于pgrouting扩展崩溃数据库造成的,因为它是一个错误的查询,并且它们不是具有此模式的链接。

很快就会回复。。。


Tags: from数据库falsessl标题错误columnerror
3条回答

这个问题发生在我有一些流氓查询运行导致表被无限期锁定时。我可以通过运行以下命令查看查询:

SELECT * from STV_RECENTS where status='Running' order by starttime desc;

然后用以下方法杀死他们:

SELECT pg_terminate_backend(<pid>);

当我在一个数字海洋实例上运行一个缓慢的查询时遇到了这个问题。所有其他的SQL都可以正常运行,并且在我的笔记本上运行。在扩展到1 GB RAM实例而不是512 MB后,它工作正常,因此如果进程内存不足,则可能发生此错误。

您可能需要将%表示为%%,因为%是占位符标记。http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries

相关问题 更多 >