我有一个庞大的(〜150 GB的)postgresql数据库,在过去的几个星期里,它的性能下降了。 为了提高性能,我打算执行完整的真空 , 集群和分析 。
我应该以何种顺序执行这些操作? 我不介意执行的时间,只是数据库的性能改进。
谢谢,
乌迪
如果这就是你所说的,你永远不应该运行VACUUM FULL。
您应该定期在所有数据库上运行VACUUM和ANALYZE。 最简单的做法就是将VACUUM ANALYZE作为一个命令来运行,这样做会更快。
除非,也就是说,你可以使用autovacuum。 如果你在8.3或更新版本,这将是大多数情况下的build议。 那么你不会不必要地运行它。
您不应该在数据库中的所有内容上运行CLUSTER,只是因为可以。 如果您有特定的表格,请在此处运行。 但大多数工作负载根本不需要常规的CLUSTER,当然也不需要所有的表。
你运行CLUSTER的表不需要VACUUM。