跳到主要内容
版本:1.0.14

配置步骤

创建流复制用户

CREATE USER replica PASSWORD '123456' REPLICATION;

修改postgersql.conf

vi /data/halo/postgresql.conf
listen_addresses = 'localhost' 修改为listen_addresses = '*'

分组复制的配置:

synchronous_standby_names='1(node2,node4)'
synchronous_standby_names1='1(node3)'
synchronous_commit=remote_apply
synchronous_commit1=on

配置pg_hba.conf

vi /data/halo/pg_hba.conf
host replication replica 10.16.16.0/24 md5

做完1,2,3步需要重启数据库
pg_ctl restart

主备库配置
vi /etc/hosts
10.16.16.155 node1 (主库ip)
10.16.16.156 node2 备库ip
10.16.16.157 node3 备库ip --同城灾备
10.16.16.162 node4 备库ip

从库配置

备库执行:
10.16.16.156:
pg_basebackup -F p -X stream -v -P -h 10.16.16.155 -U replica -D $PGDATA -R -C --slot node2

启动数据库:
pg_ctl start
10.16.16.157:
pg_basebackup -F p -X stream -v -P -h 10.16.16.155 -U replica -D $PGDATA -R -C --slot node3

启动数据库:
pg_ctl start
10.16.16.162:
pg_basebackup -F p -X stream -v -P -h 10.16.16.155 -U replica -D $PGDATA -R -C --slot node4

启动数据库:
pg_ctl start

将所有备库里的/data/halo/postgresql.auto.conf文件里的内容注释掉

image-20240621152217044

修改备库里的/data/halo/postgresql.conf文件

vi /data/halo/postgresql.conf

10.16.16.156:

primary_conninfo = 'user=replica password=123456 channel_binding=prefer host=10.16.16.155 port=1921 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=halo target_session_attrs=any application_name=node2'

--重载
pg_ctl reload

查询:
show primary_conninfo;

10.16.16.157:

primary_conninfo = 'user=replica password=123456 channel_binding=prefer host=10.16.16.155 port=1921 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=halo target_session_attrs=any application_name=node3'

--重载
pg_ctl reload

查询:
show primary_conninfo;

10.16.16.162:

primary_conninfo = 'user=replica password=123456 channel_binding=prefer host=10.16.16.155 port=1921 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=disable krbsrvname=halo target_session_attrs=any application_name=node4'

--重载
pg_ctl reload

查询:
show primary_conninfo;

image-20240621152332179

image-20240621152342254