pg_prewarm.autoprewarm

Parameter Type: ブール

Default Value: true

Range: {true|false}

Minimum Scope of Effect: クラスター

When Value Changes Take Effect: 再起動

Required Authorization to Activate: EPASサービスアカウント

このパラメーターは、データベースサーバーが autoprewarm を実行するかどうかを制御します。 autoprewarm は、シャットダウン前に共有バッファーをディスクに自動的にダンプするバックグラウンドワーカープロセスです。次に、サーバーの次回起動時に共有バッファを prewarms 、つまりディスクからバッファプールにブロックをロードします。

利点は、シャットダウン前にディスクにダンプされたデータをロードすることにより、サーバーの再起動後のウォームアップ時間を短縮することです。

pg_prewarm.autoprewarm がオンに設定されている場合、 autoprewarm ワーカーが有効になります。パラメータがオフに設定されている場合、 autoprewarm は無効になります。このパラメーターはデフォルトでオンになっています。

autoprewarm を使用する前に、次の例に示すように、 postgresql.conf ファイルの shared_preload_libraries 構成パラメーターにリストされているライブラリーに $libdir/pg_prewarm を追加する必要があります。

shared_preload_libraries =
'$libdir/dbms_pipe,$libdir/edb_gen,$libdir/dbms_aq,$libdir/pg_prewarm'

shared_preload_libraries パラメータを変更した後、データベースサーバーを再起動します。その後、サーバーが一貫した状態になった直後に autoprewarm バックグラウンドワーカーが起動します。

autoprewarm プロセスは、バッファプールに空きバッファスペースがなくなるまで、 $PGDATA/autoprewarm ブロックに以前に記録されたブロックのロードを開始します。この方法では、リカバリプロセスまたはクエリを実行するクライアントによってロードされた新しいブロックは置き換えられません。

autoprewarm プロセスがディスクからのバッファのロードを完了すると、 pg_prewarm.autoprewarm_interval パラメータで指定された間隔で共有バッファをディスクに定期的にダンプします。 autoprewarm バックグラウンドワーカーの詳細については、 pg_prewarm.autoprewarm_interval<pg_prewarm.autoprewarm_interval>`を参照してください。次のサーバーの再起動時に、 ``autoprewarm` プロセスは、ディスクに最後にダンプされたブロックで共有バッファを事前にウォームアップします。