pg_dump 严重:段太大
pg_dump FATAL: segment too big
pg_dump 失败并显示错误消息:
"pg_dump FATAL: segment too big"
这是什么意思?
Ubuntu16.04.
上的 PostgreSQL 10.4
似乎 pg_dump 将从它 运行 的查询中收到的错误消息传递到日志中。
日志中的以下行(如果您的日志很忙,可能会隐藏得更深)显示失败的查询。
在这种情况下,我们有一个损坏的序列。对序列的任何查询,无论是交互式的,通过列默认值还是通过 pgdump,都会返回 "segment too big" 错误,并终止查询进程。
我找出了序列的新起始值,删除了依赖项,并从旧序列停止的地方开始创建了一个新序列,然后将依赖项放回原处。
pg_dump 之后工作正常。
目前尚不清楚为什么或如何序列会如此损坏,以至于在访问它时会出现会话终止错误。我们最近确实遇到了一次数据库硬崩溃,所以它可能是相关的。 (尽管该序列很少被访问,而且我们不太可能在递增它的过程中崩溃。)
pg_dump 失败并显示错误消息: "pg_dump FATAL: segment too big"
这是什么意思?
Ubuntu16.04.
上的 PostgreSQL 10.4似乎 pg_dump 将从它 运行 的查询中收到的错误消息传递到日志中。
日志中的以下行(如果您的日志很忙,可能会隐藏得更深)显示失败的查询。
在这种情况下,我们有一个损坏的序列。对序列的任何查询,无论是交互式的,通过列默认值还是通过 pgdump,都会返回 "segment too big" 错误,并终止查询进程。
我找出了序列的新起始值,删除了依赖项,并从旧序列停止的地方开始创建了一个新序列,然后将依赖项放回原处。
pg_dump 之后工作正常。
目前尚不清楚为什么或如何序列会如此损坏,以至于在访问它时会出现会话终止错误。我们最近确实遇到了一次数据库硬崩溃,所以它可能是相关的。 (尽管该序列很少被访问,而且我们不太可能在递增它的过程中崩溃。)