Maintenance Dialog

Maintenance ダイアログを使用して、データベースまたは選択したデータベースオブジェクトをVACUUM、ANALYZE、REINDEX、またはCLUSTER化します。

このユーティリティはアドホックなメンテナンスの目的には役立ちますが、定期的に自動VACUUMジョブを実行することをお勧めします。

Maintenanceoperation の横にあるボタンを選択して、メンテナンスの種類を指定します。

メンテナンスダイアログ
  • VACUUM をクリックして、選択したデータベースまたはテーブルをスキャンし、デッドタプルが使用するストレージを再利用します。

    • FULL スイッチを Yes の位置に移動して、デッドスペースのない完全に新しいバージョンのテーブルファイルを作成して、テーブルをコンパクトにします。

    • FREEZE スイッチを Yes の位置に移動して、テーブルのデータがこれ以上更新されないときにフリーズします。

    • ANALYZE スイッチを Yes の位置に移動して、テーブルの内容が十分に変更されたたびにANALYZEコマンドを発行します。

    • DISABLEPAGESKIPPING スイッチを Yes の位置に移動して、すべてのページスキップ動作を無効にします。

    • SKIPLOCKED スイッチを Yes の位置に移動して、リレーションで作業を開始するときにVACUUMが競合するロックが解放されるのを待機しないことを指定します。このオプションはv12以降で利用できます。

    • TRUNCATE スイッチを Yes の位置に移動して、VACUUMがテーブルの最後にある空のページを切り捨てようとし、切り捨てられたページ用のディスクスペースをオペレーティングシステムに返すことを指定します。このオプションはv12以降で利用できます。

    • PROCESSTOAST スイッチを Yes の位置に移動して、VACUUMが各リレーションに対応するTOASTテーブルが存在する場合、それを処理しようとすることを指定します。このオプションはv14以降で利用できます。

    • PROCESSMAIN スイッチを Yes の位置に動かして、VACUUMがメインリレーションの処理を試みることを指定します。このオプションはv16以降で利用できます。

    • SKIPDATABASESTATS スイッチを Yes 位置に移動して、VACUUMが最も古い凍結されていないXIDに関するデータベース全体の統計の更新をスキップすることを指定します。このオプションはv16以降で利用できます。

    • ONLYDATABASESTATS スイッチを Yes 位置に移動して、VACUUMが最も古い凍結されていないXIDに関するデータベース全体の統計を更新する以外は何も行わないことを指定します。このオプションはv16以降で利用できます。

    • INDEXCLEANUP フィールドを使用して、ゼロを超えるデッドタプルがある場合にVACUUMにインデックスを強制的に処理させます。

    • PARALLEL フィールドを使用して、整数バックグラウンドワーカーを使用してVACUUMのインデックスバキュームフェーズとインデックスクリーンアップフェーズを並行して指定します。このオプションはv13以降で利用できます。

    • BUFFERUSAGELIMIT フィールドを使用して、VACUUMのBufferAccessStrategyリングバッファーサイズを指定します。このサイズは、この戦略の一部として再利用される共有バッファーの数の計算に使用されます。このオプションはv16以降で利用できます

メンテナンスダイアログ
  • ANALYZE をクリックして、クエリプランナーが使用する保存された統計を更新します。これにより、クエリオプティマイザーは、最適なパフォーマンスを得るために最速のクエリプランを選択できます。

    • SKIPLOCKED スイッチを Yes の位置に移動して、リレーションの作業を開始するときにANALYZEが競合するロックが解放されるのを待機しないことを指定します。このオプションはv12以降で利用できます。

    • BUFFERUSAGELIMIT フィールドを使用して、ANALYZEのBufferAccessStrategyリングバッファーサイズを指定します。このサイズは、この戦略の一部として再利用される共有バッファーの数の計算に使用されます。このオプションはv16以降で利用できます

メンテナンスダイアログ
  • 異常なデータパターンの挿入が原因でインデックスが縮退した場合、 REINDEX をクリックしてインデックスを再構築します。これは、たとえば、インデックス値が増加する行を挿入し、低いインデックス値を削除した場合に発生します。

    • SYSTEM スイッチを Yes の位置に移動して、現在のデータベース内のシステムカタログのすべてのインデックスを再作成します。このオプションは、データベースオブジェクトが選択されている場合にのみ有効です。

    • CONCURRENTLY スイッチを Yes の位置に移動して、テーブルでの同時挿入、更新、または削除を妨げるロックを取得せずにインデックスを再構築します。このオプションはv12以降で利用できます。

    • TABLESPACE フィールドを使用して、インデックスが新しいテーブルスペースで再構築されることを指定します。このオプションはv14以降で利用できます。

メンテナンスダイアログ
  • CLUSTER をクリックして、選択したテーブルをクラスタリングするようにPostgreSQLに指示します。

プロセス出力からステータスメッセージを除外するには、 VerboseMessages スイッチを No の位置に移動します。デフォルトでは、ステータスメッセージが含まれます。

ダイアログが完了したら、 OK をクリックしてバックグラウンドプロセスを開始します。メンテナンス操作を実行せずにダイアログを終了するには、 Cancel をクリックします。

pgAdminは、バックグラウンドでメンテナンスプロセスを実行します。 Processes タブで、実行中のステータスとログを含むすべてのバックグラウンドプロセスを表示できます。