在Python2.7中使用psycopg2包时,我总是得到标题为error: SYSCALL copg2.DatabaseError: SSL SYSCALL error: EOF detected的错误信息
只有当我将WHERE column LIKE ''%X%''
子句添加到pgrouting查询中时,才会出现这种情况。举个例子:
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扩展导致数据库崩溃,因为它是一个糟糕的查询,并且它们不是具有这种模式的链接。
我很快就会给你回复...
发布于 2020-07-28 17:16:42
错误:psycopg2.operationalerror: SSL SYSCALL error: EOF detected
设置:Airflow +红移+ psycopg2
When:查询执行时间较长(超过300秒)。
在这种情况下会发生套接字超时。解决这个特定错误变体的方法是向连接字符串添加keepalive参数。
keepalive_kwargs = {
"keepalives": 1,
"keepalives_idle": 30,
"keepalives_interval": 5,
"keepalives_count": 5,
}
conection = psycopg2.connect(connection_string, **keepalive_kwargs)
Redshift要求keepalives_idle
小于300。值30对我有效,您的里程数可能会有所不同。也可能只需要设置keepalives_idle
参数-但要确保将keepalives
设置为1。
发布于 2016-03-18 21:58:27
当我在Digital Ocean实例上的Droplet中运行一个缓慢的查询时,我遇到了这个问题。所有其他SQL都可以很好地运行,它在我的笔记本电脑上也能正常工作。在扩展到1GBRAM实例而不是512MB之后,它工作得很好,所以如果进程内存不足,似乎就会发生此错误。
发布于 2017-12-19 03:08:31
当我运行一些流氓查询,导致表被无限期锁定时,就会出现这个问题。我可以通过运行以下命令来查看查询:
SELECT * from STV_RECENTS where status='Running' order by starttime desc;
然后用以下命令杀死他们:
SELECT pg_terminate_backend(<pid>);
https://stackoverflow.com/questions/24130305
复制相似问题