Walストリーミングを使用してバーマンをセットアップしましたが、ハグreplay_lagがあることに気づきました。私はそれを0に抑えたいのですが、これを行う方法がわかりません。
データベースレプリカもあり、正常に動作しています。
私はbarman 2.7とpostgresl 10.8を持っています
Postgresqlのレプリケーションステータスを確認したところ、次のことがわかりました。
select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid | 23095
usesysid | 169593
usename | repmgr
application_name | replication_server
client_addr | xxx.16.2.66
client_hostname | replica_server
client_port | 51164
backend_start | 2019-07-05 23:03:03.194165-05
backend_xmin |
state | streaming
sent_lsn | 22/30884870
write_lsn | 22/30884870
flush_lsn | 22/30884870
replay_lsn | 22/30884870
write_lag |
flush_lag |
replay_lag |
sync_priority | 0
sync_state | async
-[ RECORD 2 ]----+------------------------------
pid | 6689
usesysid | 66019
usename | streaming_barman
application_name | barman_receive_wal
client_addr | xxx.172.16.109
client_hostname | barman_server
client_port | 40680
backend_start | 2019-07-16 00:00:06.903489-05
backend_xmin |
state | streaming
sent_lsn | 22/30884870
write_lsn | 22/30884870
flush_lsn | 22/30000000
replay_lsn |
write_lag | 00:00:03.01204
flush_lag | 00:00:01.085313
replay_lag | 583:31:21.110173
sync_priority | 0
sync_state | async
select * from pg_replication_slots;
-[ RECORD 1 ]-------+----------------
slot_name | barman_slot
plugin |
slot_type | physical
datoid |
database |
temporary | f
active | t
active_pid | 6689
xmin |
catalog_xmin |
restart_lsn | 22/30000000
confirmed_flush_lsn |
バーマンステータスmaster_server
Server master_server:
Description: master_server - streaming
Active: True
Disabled: False
PostgreSQL version: 10.8
Cluster state: in production
pgespresso extension: Not available
Current data size: 11.4 GiB
PostgreSQL Data directory: /var/lib/postgresql/10/main
Current WAL segment: 000000010000002200000030
PostgreSQL 'archive_command' setting: barman-wal-archive barman_server master_server %p
Last archived WAL: 00000001000000220000002F, at Fri Aug 9 06:56:05 2019
Failures of WAL archiver: 63 (000000010000001C00000062 at Mon Jul 15 23:59:21 2019)
Server WAL archiving rate: 2.60/hour
Passive node: False
Retention policies: enforced (mode: auto, retention: RECOVERY WINDOW OF 1 MONTHS, WAL retention: MAIN)
No. of available backups: 1
First available backup: 20190809T063454
Last available backup: 20190809T063454
Minimum redundancy requirements: satisfied (1/1)
これを修正する方法を理解するためにチェックできるリソースを誰かが私に指摘できますかWALアーカイバの障害とreplay_lag?
前もって感謝します
pg_stat_replication
のこの大きな再生ラグは、pg_receivewal
プロセスに属しているようです。現在、pg_receivewal
はWALファイルのコピーを書き込みますが、どこにも適用しません。したがって、WALが適用されたことをプライマリサーバーに報告しません。
これは完全に正常です。比較 commit fd7d387e05 。
「WALアーカイバの障害」も心配する必要はありません。この数値はおそらくpg_stat_archiver
から取得され、過去にWALのアーカイブに問題があったことを示しています。 「最後にアーカイブされたWAL」はより新しいWALファイルが正常にアーカイブされたことを示しているため、この問題は解決されているはずです。
PostgreSQLはアーカイブWALをスキップしません—アーカイブが失敗した場合、アーカイバはその場所で動かなくなり、成功するまで再試行します。