繁体   English   中英

数据库导入后的Postgres autovacuum高CPU /磁盘

[英]Postgres autovacuum high cpu/disk after database import

我已经将2tb Postgres 9.4数据库从一台服务器迁移到另一台服务器,并且在导入后,autovacuum在高CPU和磁盘上变得疯狂了好几天。 该数据库具有40,000多个模式/表。

我曾尝试关闭数据库并重新启动,但是使用率仍然很高。 导入后我以前遇到过真空问题,这似乎是Postgres常见的问题,有什么办法可以解决? 导出的数据库很好,没有真空问题,它似乎是由导入引起的。

我试过了:

vacuumdb --all --full -w

但是如果由于语句超时而未能完成。 除了禁用自动真空以外,还有什么解决方案吗?

G

导入后,数据库必须重新创建统计信息和可见性图。 因此,这是预期的行为。 如果您没有手动运行VACUUM或禁用了autovacuum,则Postgres将无法有效运行。

导出是读取操作,无需执行VACUUM 如果导入2TB数据,则在VACUUM完成之前,预计CPU和IO会很高。 您可以手动(以更高的速度)运行VACUUM ,但它不会因超时而失败(您应该增加超时)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM