【发布时间】:2019-08-24 02:04:23
【问题描述】:
我已经将一个 2tb Postgres 9.4 数据库从一台服务器迁移到另一台服务器,导入后 autovacuum 因高 CPU 和磁盘而疯狂了好几天。该数据库有超过 40,000 个模式/表。
我已尝试关闭数据库并重新启动,但使用率仍然很高。 我之前在导入后遇到过真空问题,这似乎是 Postgres 的常见问题,有什么办法可以解决吗?导出的数据库没问题,没有vacuum问题,好像是导入引起的。
我试过了:
vacuumdb --all --full -w
但如果由于语句超时而未能完成。 除了禁用autovacuum,有什么解决办法吗?
【问题讨论】:
-
9.4 的小版本是什么?
-
对我来说,“导入”和“迁移”是不同的东西。你能解释一下你实际上做了什么吗?您是否使用
pg_dump ...| psql ...将来自两个不同集群的数据整合到一个集群中? -
"vacuumdb --all --full -w" --full 选项几乎可以肯定是一个错误。
-
从一个数据库导出,pg_dumpall,并导入到另一个 psql ...
-
所以“vacuumdb --all -w”更好?为什么?
标签: database postgresql postgresql-9.4 autovacuum