PostgreSQLの定期メンテナンス

PostgreSQLの大きな特徴として追記型のアーキテクチャであることです。このことによりデータが更新される度に使われないタプル(tuple)が蓄積されていきます。
PostgreSQLに必要な保守作業は、この使用されることのないタブルを解放し利用できる領域にすることが必須となっています。

この作業を行うのがVACUUMコマンドです。

VACUUMを実行するとデータベースのパフォーマンスを向上させることができます。
VACUUMには、VACUUM FULLと標準VACUUMがあります。
VACUUM FULLは、システムへの負荷が大きく作業に長時間を要します。

膨大な量のデータ削除を行った時や利用可能なディスク容量が急迫した等の緊急時以外は、VACUUM FULLは行うべきではありません。
標準VACUUMを定期的に行っていいれば、VACUUM FULLを実行する必要性が発生する頻度を低減させることができます。

また、なんとなくVACUUMを行うのではなく、pgAdminなどを使用してデッドタプル(不要領域)を確認してうえで実行することが重要です。
PostgreSQL8.1以降では、autovacuumが実装されていますのでメンテナンスにかかる負荷も低減されています。

コメントを残す

メールアドレスが公開されることはありません。

email confirm*

post date*