ログ情報を格納するいくつかのテーブルを持つPostgreSQLデータベースを実行しています。この情報はレポートのみを目的としており、30日以上経過するとファイルにダンプされ、データベースから削除されます。
何百万行も削除される可能性があり、削除後に毎回REINDEXを実行しています。
これで十分ですか、それともVACUUMまたはVACUUM ANALYZEも実行する必要がありますか?または、REINDEXは必要ありません。代わりに、VACUUMまたはVACUUM ANALYZEを実行する必要がありますか?
私たちはPostgreSQL 8.2.3を使用していますが、自動バキュームは許可されていません。
2
パーティショニングを検討する必要があるかもしれません。postgresql.org / docs / 9.0 / static / ddl- partitioning.htmlを参照してください。その後、パーティションを削除してバキュームを回避できます。
—
アレックス
バージョン8.2.3にはauto_vacuumがあります。マニュアルを参照してください。できるだけ早く更新する必要があります。現在の8.2バージョンは8.2.17です。いくつかのセキュリティパッチを含め、14個のパッチが遅れています。8.4または9.0へのアップグレードがより良いアイデアです。auto_vacuumが改善されました。
—
フランクハイケンス