**流复制(非级联,3节点)
Master - port = 2001
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
/usr/pgsql-14/bin/pg_ctl -D /pgccc/master -l logfile start
psql -p 2001
================
Slave1 - port = 2002
mkdir /pgccc/slave1
chown -R postgres:postgres /pgccc/slave1
su - postgres
pg_basebackup -p 2001 -D /pgccc/slave1 -Xs -P -R
cd /pgccc/slave1
vi postgresql.auto.conf
primary_conninfo = ‘user=postgres passfile=’’/home/postgres/.pgpass’’ channel_binding=prefer 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
port = 2002
primary_conninfo = ‘user=postgres passfile=’’/home/postgres/.pgpass’’ port=2001 application_name=slave1’
chmod 700 -R /pgccc/slave1
/usr/pgsql-14/bin/pg_ctl -D /pgccc/slave1 -l logfile start
================
Slave2 - port = 2003
mkdir /pgccc/slave2
chown -R postgres:postgres /pgccc/slave2
su - postgres
pg_basebackup -p 2001 -D /pgccc/slave2 -Xs -P -R
cd /pgccc/slave2
vi postgresql.auto.conf
primary_conninfo = ‘user=postgres passfile=’’/home/postgres/.pgpass’’ channel_binding=prefer 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
port=2003
primary_conninfo = ‘user=postgres passfile=’’/home/postgres/.pgpass’’ 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 2002
select * from pg_stat_wal_receiver;
select * from t;
psql -p 2003
select * from pg_stat_wal_receiver;
select * from t;