关闭

postgres流复制,主从环境配置

标签: 备份
330人阅读 评论(1) 收藏 举报
分类:

主机规划

  • 主库ip: 192.168.1.100
  • 备库ip: 192.168.1.101

192.168.1.100 主库的配置

  • 修改pg_hba.conf,增加replica用户,进行同步。

    host replication replica 192.168.1.101/32 md5
  • 主库增加用户,赋予登录和备份的权限

    CREATE ROLE replica login replication encrypted password 'replica'
  • 修改主库postgresql.conf

    wal_level = hot_standby  # wal级别
    max_wal_senders = 32 # 最多可以有几个流复制连接
    wal_keep_segments = 256 # 流复制保留的最多的xlog数目
    wal_sender_timeout = 60s # 设置流复制主机发送数据的超时时间
    max_connections = 100 # 从库的max_connections必须要大于主库
  • 重启主库

    pg_ctl stop  -D /mnt/postgresql/data
    pg_ctl start -D /mnt/postgresql/data
  • 备库测试连接主库 (postgres@2017)

    psql -h 192.168.1.100 -p 5432 -U postgres

192.168.1.101从库的配置

  • 创建备机数据库备份目录

    mkdir -p /mnt/postgresql_standby/data
  • 备机做基础备份

    pg_basebackup -F p --progress -D $PGDATA -X stream -h 192.168.1.100 -p 5432 -U replica -W
  • 修改recovery.conf (文件可以从pg的安装目录的share文件夹中获取)

    cp /usr/pgsql-9.5/share/recovery.conf.sample /mnt/postgresql_standby/data/recovery.conf
  • 修改recovery.conf

    standby_mode = on  # 这个说明这台机器为从库
    primary_conninfo = 'host=192.168.1.100 port=5432 user=replica password=replica'  # 这个说明这台机器对应主库的信息
    recovery_target_timeline = 'latest' # 这个说明这个流复制同步到最新的数据
  • 修改从库postgresql.conf的配置

    max_connections = 1700 # 一般查多于写的应用从库的最大连接数要比较大
    hot_standby = on  # 说明这台机器不仅仅是用于数据归档,也用于数据查询
    max_standby_streaming_delay = 30s # 数据流备份的最大延迟时间
    wal_receiver_status_interval = 1s  # 多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的间隔时间
    hot_standby_feedback = on # 如果有错误的数据复制,是否向主进行反馈
  • 配置完后重启从服务器

    pg_ctl stop -D $PGDATA
    pg_ctl start -D $PGDATA

验证是否部署成功

  • 在主节点上执行:

    select client_addr,sync_state from pg_stat_replication;
    
  • 还可以分别在主、从节点上查看

    ps aux | grep postgres
  • 查看备库落后主库多少字节的WAL日志:

    postgres=# select pg_xlog_location_diff(pg_current_xlog_location(),replay_location)from pg_stat_replication;
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:120297次
    • 积分:1898
    • 等级:
    • 排名:千里之外
    • 原创:83篇
    • 转载:5篇
    • 译文:0篇
    • 评论:7条
    最新评论