postgresql.confファイルを編集し、pgx_global_metacaheパラメータを設定します。postgresql.confファイルの編集後は、インスタンスを再起動してください。パラメータの詳細については、“付録A パラメータ”を参照してください。
パラメータ名 | 説明 |
---|---|
pgx_global_metacache | 共有メモリ上のGMC領域の最大メモリ量を指定します。0を設定するとGlobal Meta Cache機能は無効です。デフォルト値は0です。 Global Meta Cache機能を有効にするときの最小値は10MBです。 |
キャッシュが作成される際に、共有メモリ上のメタキャッシュの総量がpgx_global_metacacheで指定された値を超える場合、参照されておらず使用頻度が低いメタキャッシュがGMC領域から削除されます。なお、すべてのGMCが使用中で、GMC領域にキャッシュを作成できない場合、キャッシュは一時的にバックエンドプロセスのローカルメモリ上に作成されます。
例
postgresql.confでの設定例を示します。
pgx_global_metacache = 800MB
Global Meta Cache機能により待機イベントが発生する場合があります。待機イベントは、pg_stat_activityビューのwait_event列で確認できます。下記でGMC固有の待機イベントを説明します。
[GMC機能の待機イベント]
待機イベント型 | 待機イベント名 | 説明 |
---|---|---|
LWLock | GlobalCatcache | GMC領域でのメタキャッシュを検索、追加および削除するために待機しています。 |
IPC | GMCSweep | GMC領域不足時に削除可能なメタキャッシュを選択するために待機しています。 GMCがすべて参照中で削除可能なメタキャッシュがない場合は、参照がなくなり削除可能なメタキャッシュを選択するまで待機しています。 |
注意
GMCSweepが大量に発生する場合は、pgx_global_metacacheの設定値を増やしてください。
参照
pg_stat_activityビューの詳細は、“PostgreSQL Documentation”の“Viewing Statistics”を参照してください。