pg_dump失败并显示错误消息: “pg_dump致命:段太大了”
这是什么意思?
Ubuntu 16.04上的PostgreSQL 10.4。
答案 0 :(得分:2)
pg_dump似乎将它从运行的查询中收到的错误消息传递给日志。
日志中的以下行(如果您有繁忙的日志,可能会埋得更深),显示失败的查询。
在这种情况下,我们的序列已损坏。对序列的任何查询,无论是交互式,通过列默认值还是通过pgdump,都会返回“段太大”错误,并终止查询过程。
我找出了序列的新起始值,删除了依赖项,并创建了一个新的序列,从旧的序列开始,然后将依赖项放回去。
pg_dump在此之后运作良好。
目前尚不清楚序列为何或如何被破坏,以至于在访问时会遇到会话终止错误。我们确实有一个最近的数据库硬崩溃,所以它可能是相关的。 (虽然很少访问该序列,但我们不太可能在递增它的过程中进行下载。)