postgresql13主从流复制

虚拟ip,10.12 ,10.13 两台服务器均已安装postgresql13,本文章主要讲如何进行配置

1、修改配置文件:/var/lib/pgsql/13/data/postgresql.conf

listen_addresses= '*'
wal_level = replica
archive_mode = on
archive_command = 'cp %p /data/postgresql/archive/%f'
max_wal_senders= 10
wal_keep_size = 1000		# in megabytes; 0 disables
max_slot_wal_keep_size = 10	# in megabytes; -1 disables
wal_sender_timeout = 120s	# in milliseconds; 0 disables
hot_standby = on

2、新建用户用于主从复制

create user repl  REPLICATION  LOGIN ENCRYPTED  PASSWORD 'repl123';

3、将主从IP添加到hba配置文件:/var/lib/pgsql/13/pg_hba.conf

host    replication     replica         192.168.10.0/24 md5
host    replication     repl         192.168.10.13/32 scram-sha-256
host    replication     repl         192.168.10.12/32 scram-sha-256

4、在从服务器13新建文件夹:

mkdir -p /data/postgresql/data

目录可以修改为安装后的数据库配置文件目录,则无需新建文件夹(需要先将以下目录中的内容删除,然后执行第5、6步):

/var/lib/pgsql/13/data

使用系统目录则执行第6步后即可使用命令:systemctl start postgresql-13启动从库。

5、在从服务器13执行命令在线热备份

pg_basebackup -h 192.168.10.12 -U repl -p 5432 -F p   -X s -v -P -R -D /data/postgresql/data/ -l postgres12

6、赋予权限:

chown -R postgres:postgres /data/postgresql/data
chmod 777 -R /data/postgresql/data/
chmod 750 /data/postgresql/data

7、修改从接口的端口:

echo 'port=54322' >> /data/postgresql/data/postgresql.conf

8、找到pg_ctl命令地址:

find / -name pg_ctl

9、进入postgres用户并启动从服务器:

su postgres
/usr/pgsql-13/bin/pg_ctl -D /data/postgresql/data/ start

至此搭建完成

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值