1.PostgreSQL主备数据库的同步设置主要涉及如下文件:
1. pg_hba.conf postgresql 主库访问规则文件
2. postgresql.conf postgresql 主库配置文件
3. recovery.conf postgresql 备库访问主库配置文件
4. .pgpass postgresql 备库访问主库的密码文件
2.主库配置:
1. 配置postgresql.conf
listen_addresses = "*"
max_wal_senders = 10 # max number of walsender processes
#这个设置了可以最多有几个流复制连接,
#几个并发的standby数据库就设置几个
max_replication_slots = 10
wal_level = replica # minimal, replica, or logical
wal_keep_segments = 512 #设置流复制保留的最多的xlog数目,不要设置太小导致WAL日志
#还没有来得及传送到standby就被覆盖。一个WAL文件默认16M
archive_mode = on
archive_command = "cp "%p" "/opt/PG-12/archivedir""
synchronous_commit = on
synchronous_standby_names = "standby01,standby02"
2.配置pg_hba.conf
#TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/24 trust
host replication all 0.0.0.0/24 trust
3.启动服务,创建用户
ALTER USER postgres WITH PASSWORD "123456";
CREATE ROLE repl WITH PASSWORD "123456" REPLICATION LOGIN;
3.备库配置:
1. 修改postgresql.conf
hot_standby = on # "on" allows queries during recovery 设置为备库时是否支持可读
2. 配置recovery.conf
standby_mode = on
recovery_target_timeline = "latest"
primary_conninfo = "host=10.10.10.1 port=5432 user= u_standby password=standby123 " 本库为备库会,连接主库地址、端口、用户名、密码
3.设置连接主库密码.pgpass
10.10.10.1: 5432:replication: u_standby:standby123 //备库都主库同步WAL日志使用
10.10.10.2: 5432:replication: u_standby:standby123 //倒换后,主库降备库,新备库使用