3-流复制-级联-3节点-多机版

流复制(级联,3节点)

Master - 172.16.40.100

mkdir /pgccc/master
chown -R postgres:postgres /pgccc/master
su - postgres
/usr/pgsql-14/bin/initdb -D /pgccc/master

cd /pgccc/master
vi postgresql.conf
listen_addresses =’*’
port = 2001
wal_level = replica

vi pg_hba.conf
host replication repl 172.16.40.101/32 md5

/usr/pgsql-14/bin/pg_ctl -D /pgccc/master -l logfile start

psql -p 2001

create role repl login replication encrypted password ‘repl123!’;

================
Slave1 - 172.16.40.101

mkdir /pgccc/slave1
chown -R postgres:postgres /pgccc/slave1

su - postgres
设置免登录
touch .pgpass
chmod 0600 .pgpass
vi ~/.pgpass
172.16.40.100:2001:replication:repl:repl123!

pg_basebackup -h 172.16.40.100 -p 2001 -U repl -D /pgccc/slave1 -Xs -P -R (如果有R就会把主机的信息反复到auto里,改配置的时候就要在auto里改)

cd /pgccc/slave1

vi postgresql.auto.conf
primary_conninfo = ‘user=repl password=’‘repl123!’’ channel_binding=prefer host=172.16.40.100 port=2001 application_name=slave1 sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any’

vi postgresql.conf
primary_conninfo = ‘user=repl passfile=’’/home/postgres/.pgpass’’ host=172.16.40.100 port=2001 application_name=slave1’

chmod 700 -R /pgccc/slave1

/usr/pgsql-14/bin/pg_ctl -D /pgccc/slave1 -l logfile start

级联用
vi pg_hba.conf
host replication repl 172.16.40.102/32 md5

/usr/pgsql-14/bin/pg_ctl -D /pgccc/slave1 restart

================
Slave2 - 172.16.40.102

mkdir /pgccc/slave2
chown -R postgres:postgres /pgccc/slave2

su - postgres
设置免登录
touch .pgpass
chmod 0600 .pgpass
vi ~/.pgpass
172.16.40.100:2001:replication:repl:repl123!

pg_basebackup -h 172.16.40.101 -p 2001 -U repl -D /pgccc/slave2 -Xs -P -R

cd /pgccc/slave2

vi postgresql.auto.conf
primary_conninfo = ‘user=repl password=’‘repl123!’’ channel_binding=prefer host=172.16.40.102 port=2001 application_name=slave2 sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any’

vi postgresql.conf
primary_conninfo = ‘user=repl passfile=’’/home/postgres/.pgpass’’ host=192.168.108.101 port=2001 application_name=slave2’

如果权限有问题
chmod 700 -R /pgccc/slave2

/usr/pgsql-14/bin/pg_ctl -D /pgccc/slave2 -l logfile start

================
查看级联复制状态
主库
psql -p 2001
Select pid,usename,application_name,client_addr,state,sync_state,sync_priority from pg_stat_replication;

create table t(id int4);
Insert into t values(1);

从库
psql -p 2001

select * from pg_stat_wal_receiver;

select * from t;

单机版与多机版的主要区别是前者要注意修改Port,后者要注意修改IP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jff_1111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值