恢复转储时出现 Postgres autovacuum 错误

恢复转储时出现 Postgres autovacuum 错误

在 Ubuntu 16.04 系统上恢复转储需要几个小时。等待超过 3 小时(10926330.443 毫秒)后,Autovacuum 才被取消:

2016-07-20 05:20:00 CEST [78652-2414] LOCATION:  exec_simple_query, postgres.c:946
2016-07-20 08:22:05 CEST [79485-1] ERROR:  57014: canceling autovacuum task
2016-07-20 08:22:05 CEST [79485-2] CONTEXT:  automatic analyze of table "test.public.test"
2016-07-20 08:22:05 CEST [79485-3] LOCATION:  ProcessInterrupts, postgres.c:2965
2016-07-20 08:22:06 CEST [78652-2415] LOG:  00000: duration: 10926330.443 ms

我在较小的 Ubuntu 14.04 系统上恢复了相同的转储,没有任何无休止运行的自动清理进程。原因可能是什么?

答案1

这是 glibc 的一个错误:从 Ubuntu 14.10(glibc 2.19)升级到 15.04(glibc 2.21)后,我们在一个特定的 PostgreSQL 索引创建中遇到了严重的性能下降。索引创建现在需要 10 多分钟,而之前只需大约 30 秒即可完成。

https://sourceware.org/bugzilla/show_bug.cgi?id=18441

相关内容