/bonvhp/webapp/PostgreSQL       [後へ]   [目次へ]   [次へ] ~ [] ~

PostgreSQL:メンテナンス

●バキューム

PostgreSQL は、「追記型」と呼ばれる方式を採用しています。

データを削除する場合、
外部的には、もちろん削除されて見えますが、
データベースの内部的には、
データそのものを消したりはせずに、
該当データに削除マークを付けるだけです。
また、
更新する時でも、更新対象の既存のデータに削除マークを付けたうえで、
新しいデータを「追加」します。

追記型の長所は、何といっても動作が速い事です。
データを削除した後の隙間を埋めたり、
更新でデータ量が増えるときに、
追加分、領域を広げたり移動したりしなくて済むからです。

一方、短所は、
データを追記する一方なので、
どんどんデータのサイズが膨らんでしまう事です。

そこで、バキュームを使って、
不要なデータ領域を詰めたり整理したりしなければなりません。

●バキュームの実行:PgAdmin

バキュームの実行の仕方ですが、
一番、基本的なのが、PgAdmin を使う方法です。

具体的には、
・PgAdmin のデータベース名 (例えば sql_sample) を右クリック
・「メンテナンス(M)...」を選ぶ

・メンテナンス・オペレーション:VACUUM
・VACUUMオプション:FULL にチェック


・[OK]

これで、しばらく待つと、バキュームが終了します。

●バキュームの実行:Auto VACUUM

PgAdmin の実行は簡単ですが、
一々、人手で実行するのは面倒です。

で、
VACUUM を定期的に自動実行してくれる、
Auto VACUUM という機能があります。

...が、
postgresql.conf をいじる必要があって、
専門的なので、ここでは触れない事にします。
/bonvhp/webapp/PostgreSQL       [後へ]   [目次へ]   [次へ]