https://pgroonga.github.io/ja/reference/streaming-replication.html
レプリケーション構成時にスタンバイサーバーでPGroongaのWALを自動で適用する機能をサポートしました。
今までは、PGroongaのWALは手動で適用しない限り溜まっていく一方でしたが、今回のリリースから スタンバイサーバーで定期的に自動でWALを適用する機能をサポートしました。
この機能はデフォルトでは無効となっているので、使用するには設定を有効にする必要があります。 設定を有効にする方法については、以下のリンクを参照してください。
pgroonga.max_wal_sizeパラメーターはPGroongaのWALの最大サイズを制御します。
pgroonga_max_wal_sizeパラメーターはpgroonga_wal_applierモジュールと一緒に使います。プライマリーサーバーでpgroonga_max_wal_sizeパラメーターを指定して、スタンバイサーバーでpgroonga_wal_applierモジュールを有効にします。
https://pgroonga.github.io/ja/reference/parameters/max-wal-size.html
pgroonga_wal_applier → pgroonga-standby-maintainer
pgroonga_standby_maintainer
pgroonga_standby_maintainer モジュールを使うことで、スタンバイのデータベースで pgroonga_wal_apply() 関数 と pgroonga_vacuum() 関数 を自動的に実行できます。
https://pgroonga.github.io/ja/reference/modules/pgroonga-standby-maintainer.html
https://pgroonga.github.io/ja/reference/functions/pgroonga-vacuum.html
?postgres起動 → pgroonga: standby-maintainer: maintaining が実行されるとPostgresのレプリケーション処理はブロックされる(待たされる)?
PGroonga 2.3.4 以前 PGroongaのWALは定期的なメンテナンスが必要
- プライマリー 定期的なREINDEX/WAL削除
- スタンバイ WAL適用
PGroonga運用技法 ~PGroongaのWALを放置していませんか?~ - Horimoto Yasuhiro - Rabbit Slide Show 2020.11.13
ただ、ストリーミングレプリケーション環境のスタンバイ側では、マスタからレプリケーションされたPGroongaのWALファイルは『未適用』状態のままとなります。
PGroongaインデックスにアクセスする SELECT が実行された際に、初めてPGroongaのWALファイルの適用処理が実行されます。
このとき、PGroongaのWALファイルの適用処理が完了するまで、SELECTの結果が返されないことに注意する必要がありますPGroongaのオブジェクト紹介 | 株式会社インサイト 2021.05.07
とても参考になる
PGroongaオブジェクトのメンテナンス方法 | 株式会社インサイト 2021.07.08