虚拟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
至此搭建完成