WAL のアーカイブの使い方
書き終わった WAL を別の場所に保管する
書き方
ALTER SYSTEM SET archive_mode = on;(再起動が要る) ALTER SYSTEM SET archive_command = 'test ! -f /backup/wal/%f && cp %p /backup/wal/%f'; SELECT * FROM pg_stat_archiver;
archive_mode を on にすると、WAL のファイルが書き終わるたびに archive_command を実行します。%p はファイルのパス、%f はファイルの名前です。test ! -f で、同じ名前を上書きしないようにします。コマンドが失敗すると、成功するまでやり直し、その間 WAL は pg_wal にたまり続けます。pg_stat_archiver の failed_count・last_failed_wal と、ログの archive command failed で気づけます。
例
SELECT archived_count, last_archived_wal, failed_count FROM pg_stat_archiver;
実際に打って練習する
PostgreSQL DBA コースの Lv37「WAL を保管する アーカイブ」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。