#author("2019-04-19T15:33:59+00:00","default:haikikyou","haikikyou")
[[PostgreSQL/解析]]
* アーカイブ [#uad4ce3c]
- WALアーカイブを実行しているのは、archiverプロセスである。(pgarch.c)
--
* pg_switch_wal() [#o8c5fda8]
&code(){pg_switch_wal};関数は、強制的にWALログの切り替えを行なう。~
&code(){pg_waldump};でWALの内部を解析すると、XLOG rmgrのinfo値で&code(){XLOG_SWITCH};という種別のWALが書き込まれる。
#geshi{{{
rmgr: XLOG len (rec/tot): 24/ 24, tx: 0, lsn: 0/18000060, prev 0/18000028, desc: SWITCH
}}}
&label(warn){参考};
- [[9.26.3. バックアップ制御関数>https://www.postgresql.jp/document/10/html/functions-admin.html]] - https://www.postgresql.jp/document/10/html/functions-admin.html
また、強制切り替えを行なった後、切り替わりでSWITCHが書き込まれたWALログは、即座にアーカイブできるようにする。これは、内部的にはPostmasterに対し、WALArchiverを起こすためのシグナルを送信する。(&code(){PMSIGNAL_WAKEN_ARCHIVER};)
* 参考リンク [#p7aa34cf]
- [[PostgreSQLのarchiverの挙動を調べた>https://qiita.com/U_ikki/items/dd9a58857a4ffb84f97d]] - &size(11){&color(gray){on https://qiita.com/U_ikki/items/dd9a58857a4ffb84f97d]};};