desknet's DB マニュアル
ユーザーマニュアルDB管理者マニュアルシステム管理者マニュアル
  メニューに戻る
  

■定常的なデータベース保守作業

定常的なデータベース保守作業について

■データベースの保守作業の必要性
PostgreSQLに限らずデータベースは定期的な保守作業を必要とします。
保守作業を行う事によってデータベースの肥大化を防ぎ、レスポンスの低下を抑えます。
以下のデータベース最適化コマンドを定期的に実行するよう構成してください。

VACUUM⇒日に1度程度実行
・削除されたデータが占有している領域を再利用可能な状態にします。

※コマンド実行中はサーバーに負荷がかかるためdesknet's DBのレスポンスが低下する場合があります。


REINDEX⇒日に1度程度〜週に1度程度実行
・データベース内のインデックス(索引)を再作成する事によって、不要な索引を削除します。

※コマンド実行中はdesknet's DBを使用する事ができませんのでご注意ください。


VACUUM FULL⇒月に1度程度実行
・削除されたデータが占有している領域を再利用可能な状態にします。
・データの隙間を詰めてディスクに保存し直します。空きディスクを増やします。
・データベース内のインデックス(索引)を再作成する事によって、不要な索引を削除します。

※コマンド実行中はdesknet's DBを使用する事ができませんのでご注意ください。


各コマンドはデータ量に応じて処理時間が変動します。
また、各コマンドを実行する間隔が長くなればなるほど、処理時間も長くなりますので、定常的に保守作業を行ってください。


■保守作業の実行例
PostgreSQLの保守用コマンドの実行例を以下に記します。
サーバーOSにWindows Serverをお使いの場合
  Postgresのbinフォルダへの環境変数PATHを設定したうえで、下記のコマンドを実行します。

サーバーOSにRed Hat Enterprise Linuxをお使いの場合
  postgresユーザーで、下記のコマンドを実行します。

【VACUUM実行例】
vacuumdb -v -z -d webdb -U postgres

【REINDEX実行例】
reindexdb -d webdb -U postgres

【VACUUM FULL実行例】
vacuumdb -f -v -z -d webdb -U postgres


■参考
vacuumdb(不要領域の回収) コマンド
reindexdb(インデックスの再作成) コマンド

  
Copyright (C) NEOJAPAN Inc. All Rights Reserved.