使用PostgreSQL文件中barman
的synchronous_standby_names特性postgresql.conf
synchronous_standby_names = 'barman_receive_wal'
不能做这些操作:
- 创建用户(挂起)
- createdb(挂起)
repmgr
如果用于复制,则无法将数据保存在主数据库中
他们的主要配置是
max_wal_senders = 10
max_replication_slots = 10
shared_preload_libraries = 'repmgr'
wal_level = 'replica'
archive_mode = on
archive_command = 'rsync -a %p barman@backup_server:/var/lib/barman/mydb/incoming/%f'
synchronous_standby_names = 'barman_receive_wal'
如果synchronous_standby_names
从此配置中删除,它工作得很好。
我看到你已经设置了 PostgreSQL 来将 WAL 文件推送到
barman
viaarchive_command
-barman
也设置为WAL 流式传输?如果不是这种情况,则不会有具有该名称的同步备用数据库,barman_receive_wal
因此对主数据库的任何写入都不会成功,因为 PostgreSQL 正在等待永远不会到达的备用提交确认。