暂无图片
08006: connection to client lost
我来答
分享
行云流水
2020-06-09
08006: connection to client lost

2020-06-10 17:35:23 CST:192.168.216.71(36613):postgres@postgres:[9347]: FATAL: 08006: connection to client lost
2020-06-10 17:35:23 CST:192.168.216.71(36613):postgres@postgres:[9347]: LOCATION: ProcessInterrupts, postgres.c:3021
2020-06-10 17:35:23 CST:192.168.216.71(36613):postgres@postgres:[9347]: STATEMENT: WITH RECURSIVE files (path, filename, size, isdir) AS (
SELECT ‘’ AS path, filename, size, isdir FROM
(SELECT pg_ls_dir(’.’, true, false) AS filename) AS fn,
pg_stat_file(fn.filename, true) AS this
UNION ALL
SELECT parent.path || parent.filename || ‘/’ AS path,
fn, this.size, this.isdir
FROM files AS parent,
pg_ls_dir(parent.path || parent.filename, true, false) AS fn,
pg_stat_file(parent.path || parent.filename || ‘/’ || fn, true) AS this
WHERE parent.isdir = ‘t’
)
SELECT path || filename, size, isdir,
pg_tablespace_location(pg_tablespace.oid) AS link_target
FROM files
LEFT OUTER JOIN pg_tablespace ON files.path = ‘pg_tblspc/’
AND oid::text = files.filename

我standby端在主库完成recover后,执行pg_rewind,一直无法成功,master日志显示其执行递归查询,消耗大量的底层磁盘空间,而且报错了,无法执行成功,FATAL: 08006错误,麻烦帮分析一下,谢谢。

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
彭冲

可能产生该错误的过程:
1.客户端发起一个数据库连接
2.客户端发起一个查询到数据库服务器(比如长查询)
3.客户端到服务器之间的连接丢失(例如客户端kill掉连接进程)
4.数据库服务器的进程还在处理该查询
5.服务器端查询完成后尝试发送结果给客户端时会产生该错误

暂无图片 评论
暂无图片 有用 0
打赏 0
Psql

"2.客户端发起一个查询到数据库服务器(比如长查询)"如果就是一个长查询,如何让这个查询执行下去,而不是执行到一半就中断掉?

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏