博客
关于我
postgres--流复制
阅读量:803 次
发布时间:2023-03-03

本文共 1485 字,大约阅读时间需要 4 分钟。

PostgreSQL 主库和从库配置详细指南

主库配置

1.1 主库设置

  • 主库IP地址:192.168.2.21
  • 端口:5432
  • 数据目录:/var/lib/pgsql/10/data/

1.2 用户配置

  • 创建角色:psql -c "create role rep with replication;"
  • 设置密码:
    create role rep login replication encrypted password '1qaz2wsx';
  • 权限:GRANT replication on database replication to rep;

1.3 访问权限配置(pg_hba.conf)

  • 文件路径:/var/lib/pgsql/10/data/pg_hba.conf
  • 添加规则:
    host    replication rep     192.168.2.22/32     md5

1.4 数据同步准备

  • 创建目录并设置权限:
    mkdir /var/lib/pgsql/10/data/chown postgres:postgres /var/lib/pgsql/10/data/chmod 700 /var/lib/pgsql/10/data/

1.5 WAL配置

  • 启动主库:
    service postgresql-10 restart

从库配置

2.1 从库准备

  • 安装完成后:不要手动初始化数据库和启动服务。
  • 数据目录:/var/lib/pgsql/10/data/

2.2 数据同步

  • 备份主库:
    pg_basebackup -D /var/lib/pgsql/10/data/ -F p -X stream -h 192.168.2.21 -p 5432 -U rep

2.3 配置从库

  • 修改配置文件:postgresql.conf
    # 根据从机实际情况配置wal_keep_segments = 100
  • 设置recovery.conf:
    standby_mode = onprimary_conninfo = 'host=192.168.2.21 port=5432 user=rep password=1qaz2wsx'recovery_target_timeline = 'latest'

2.4 启动从库

  • 重启服务:
    service postgresql-10 restart

从库监控

3.1 查看WAL应用状态

  • 检查暂停状态:
    pg_is_wal_replay_paused()
  • 查看WAL接收记录:
    pg_last_wal_receive_lsn()

3.2 查看WAL接收信息

  • 接收进度:
    pg_last_wal_replay_lsn()
  • wal receiver统计:
    pg_stat_get_wal_receiver()

3.3 管理WAL应用

  • 暂停:
    pg_wal_replay_pause()
  • 恢复:
    pg_wal_replay_resume()

注意事项

1. 防止WAL文件丢失

  • 配置slot:
    max_replication_slots = 10recovery_slot_name = ''
  • wal_keep_segments:建议设置为100,避免WAL文件丢失。
  • wal归档:配置主库归档,确保备库可以访问已归档文件。

2. 安全配置

  • recovery.conf:保护好文件访问权限,确保只允许特定从机访问。

最后建议

  • 定期检查WAL接收和应用状态。
  • 监控从机连接状态。
  • 及时处理WAL暂停问题。

参考文献

你可能感兴趣的文章
Python 快速下载依赖
查看>>
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
python 抓取网页内容
查看>>
python 按照当前日期创建文件
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>
Python 接口自动化测试中的深拷贝与浅拷贝~
查看>>
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
查看>>
Python 操作 JMeter 探索:pymeter 实操指南
查看>>
Python 操作 Redis
查看>>
Python 操作Mysql(PyMysql)
查看>>
Python 操作Redis
查看>>