Hubert 'depesz' Lubaczewski:何时使用VACUUM FULL

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

永远不要使用VACUUM FULL,它会锁定整个表,使得其他操作无法进行。正确的做法是使用pg_repack,它可以重写表而不会锁定其他操作,而且可以并行重建索引,更快。可以在数据库服务器或同一网络中的主机上安装和使用pg_repack,AWS和GCP也支持它。

🎯

关键要点

  • 永远不要使用VACUUM FULL,因为它会在整个过程中锁定整个表,导致其他操作无法进行。

  • VACUUM FULL会重写整个表及其索引,耗时较长。

  • 如果遇到autovacuum处理不当的情况,建议使用普通的VACUUM,而不是VACUUM FULL。

  • 对于表膨胀问题,建议使用pg_repack,它可以在不长时间锁定的情况下重写表。

  • pg_repack支持并行重建索引,提升处理速度,并允许并发读写。

  • pg_repack可以在数据库服务器或同一网络中的主机上使用,AWS和GCP也支持该工具。

  • 安装pg_repack后,只需在数据库中创建扩展并在命令行中运行相应命令即可使用。

➡️

继续阅读