チェックポイントの使い方

書き込みの山をならす

書き方

SELECT num_timed, num_requested FROM pg_stat_checkpointer;
ALTER SYSTEM SET max_wal_size = '16GB';
ALTER SYSTEM SET log_checkpoints = on;
SELECT pg_stat_reset_shared('checkpointer');

チェックポイントは、メモリの変更をデータファイルに書き出す処理です。checkpoint_timeout(既定 5 分)ごとに動くもの(num_timed)と、WAL が max_wal_size に近づいて急いで動くもの(num_requested)があります。num_requested が多いと書き込みが集中し、ログに checkpoints are occurring too frequently と出ます。max_wal_size を大きくすると、時間で動くようになります。

例

SELECT num_timed, num_requested FROM pg_stat_checkpointer;

実際に打って練習する

PostgreSQL DBA コースの Lv52「チェックポイントと書き込み」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

PostgreSQL の管理コマンド一覧(DBA)へ戻る