postgresql-12+postgis扩展+主从

一、创建具有流复制权限用户:

create role 用户 login replication encrypted password '用户密码';

1、主库配置:

编辑postgresql.conf:

listen_addresses="*"

archive_mode=on

archive_command='test ! -f /var/lib/pgsql/12/data/pg_archive/%f && cp %p /var/lib/pgsql/12/data//pg_archive/%f'

wal_level=replica

max_wal_senders=2

wal_keep_segments=16

wal_sender_timeout=60s

max_connections=100

2、编辑pg_hba.conf:

最后添加:host replication repl(创建的用户)  从库的ip  trust

host  all  all 192.168.130.0/24 md5

3、重启服务:systemctl restart postgresql-12

4、从库配置:

1)、验证在从库是否可以访问主节点:psql -h 192.168.130.128 -U postgres

2)、停止从服务器:systemctl top postgresql-12

3)、清除从数据库存储文件夹(建议移除到别的目录暂时保存):

rm -rf /var/lib/pgsql/12/data/*

4)、从主服务器上copy数据到从服务器,这一步叫做‘基础备份’:

pg_basebackup -h 主节点ip  -p 5432 -U replica  -Fp -Xs -pv -R -D  /var/lib/pgsql/12/data

5)、此时data目录下会出现standby.signal文件,编辑次文件:

添加:standby_mode= 'on'

5、修改postgresql.conf文件

primary_conninfo='host=主节点ip port=5432 user=replica password='密码''

recovery_target_timeline= latest

max_connections=120

hot_standby=on

max_standby_streaming_delay=30s

wal_receiver_status_interval=10s

hot_standby_feedback=on

6、重启从库:systemctl restart postgresql-12

7、链接主库执行:select client_addr,sync_state from pg_stat_replication;(有数据则代表成功)

8、select pg_is_in_recovery(); (结果显示f为主库,t为从库);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值