我正在运行一个PostgreSQL数据库,该数据库具有几个存储日志信息的表。此信息仅用于报告目的,如果超过30天,则将其转储到文件中并从数据库中删除。
可能有数百万行被删除,并且删除后每次都运行REINDEX。
这是否足够,还是我们还应该运行VACUUM或VACUUM ANALYZE?还是不需要REINDEX,而我们应该只运行VACUUM或VACUUM ANALYZE?
我们正在使用PostgreSQL 8.2.3,我相信它不允许自动抽真空。
2
您可能要考虑分区,请参阅postgresql.org/docs/9.0/static/ddl-partitioning.html;那么您可以删除分区并避免清理。
—
Alex
版本8.2.3确实具有auto_vacuum,请参见手册,但您应尽快更新。当前的8.2版本是8.2.17。您落后了14个补丁,其中包括几个安全补丁。升级到8.4甚至9.0是一个更好的主意,auto_vacuum得到了改进。
—
Frank Heikens 2010年