将服务器(以及用于其他测试的 PC)更新至 Postgres 9.5 后,我尝试导入 PG 9.4 转储和/或恢复 9.5 转储:
pg_dump testdb > db.sql
psql -d testdb -f db.sql
在 PG 9.4 中恢复这些转储只需不到 30 分钟,在 PG 9.5 中恢复它们则需要几个小时(即使我制作了 PG 9.5 转储并尝试恢复这个)!!! 测试转储的大小为 8 GB。
有人知道原因是什么吗?尝试了原始 PG 9.4 和 9.5 配置以及不同的选项,例如在 9.5 中增加 max_wal_size
我是否错过了 9.5 中的特定默认选项,它可能与 9.4 不同?
示例日志:
LOG: duration: 278349.128 ms statement: COPY test (id, ...)
LOG: duration: 646487.952 ms statement: ALTER TABLE ONLY test ...
与创建索引相同...使用 PG 9.5 需要花费数小时。
答案1
有趣的是没有人找到答案......
这是 glibc 的一个错误:从 Ubuntu 14.10(glibc 2.19)升级到 15.04(glibc 2.21)后,我们在一个特定的 PostgreSQL 索引创建中遇到了严重的性能下降。索引创建现在需要 10 多分钟,而之前只需大约 30 秒即可完成。