千家信息网

【Postgresql】postgresql9.3.9版本基于流复制方式双机热备方案

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,系统环境:centos6.5数据库版本: postgres9.3.9虚拟机2台:Master:10.0.2.160Slave:10.0.2.69数据存储位置:/usr/local/pgsql/data
千家信息网最后更新 2026年11月03日【Postgresql】postgresql9.3.9版本基于流复制方式双机热备方案

系统环境:centos6.5
数据库版本: postgres9.3.9
虚拟机2台:
Master:10.0.2.160
Slave:10.0.2.69
数据存储位置:/usr/local/pgsql/data/

  1. 安装pgsql数据库
    安装过程可参考我上一篇博客:https://blog.51cto.com/13632960/2117902两台机器都需要安装完成,我在做热备的时候,Master数据库开启,Slave关闭。
  2. 创建流复制用户
    Master端进入数据库并执行:CREATE USER repuser replication PASSWORD 'repuser'; 
  3. 配置Master端的访问文件pg_hba.conf
    vim /usr/local/pgsql/data/pg_hba.conf 在最后添加:host replication repuser 10.0.2.69/16 md5 #md5为连接方式 你们也可以选择其他的
  4. 配置Master端配置文件 postgresql.conf
    在修改之前先创建一个文件夹用于归档文件存放:mkdir /usr/local/pgsql/data/archive
    vim /usr/local/pgsql/data/postgresql.conf
    修改下列项:
    max_wal_senders = 1 wal_level = hot_standbyarchive_mode = on archive_command = 'cp %p /usr/local/pgsql/data/archive/%f''hot_standby = onwal_keep_segments = 64
    注释: max_wal_senders是Slave库的节点数,有多少个slave库就设多少,              wal_level是write ahead log参数值,设置流复制务必将此值更新成hot_standby              wal_keep_segments默认值是16,是PG_XLOG下的日志文件数相关参数              archive也可以选择关闭,归档是定时恢复用的,流复制不是必须的
  5. 主库备份--Master端
    开启文件备份:
    /usr/local/pgsql/bin/psql psql (9.3.9)Type "help" for help.postgres=# select pg_start_backup('backup_1');
  6. 打包Master端/usr/local/pgsql/data/目录,并发送到Slave服务器上,排除pg_xlog目录内容!!!!!
    cd /usr/local/pgsql/tar -czvf  data.tar.gz data--exclude=data/pg_xlog Slave端如果已经安装了postgres数据库,数据目录名称一样的话,可以先停掉备机数据库,更改数据目录名称mv data data.old远程拷贝至slave端并在备机端解压scp data.tar.gz postgres@10.0.2.69:/usr/local/pgsql/拷贝完成后,进入数据库关闭备份:select pg_stop_backup(),current_timestamp;
  7. Slave端解压并修改相关配置文件
    cd /usr/local/pgsqltar -zxvf data.tar.gzcd  /usr/local/pgsql/datamkdir pg_xlog vim /usr/local/pgsql/data/postgresql.conf修改:hot_standby = on
  8. 备机需要配置recovery.conf文件,将share目录中的recovery.conf.sample拷贝并改名。
    cp  /usr/local/pgsql/share/recovery.conf.sample     /usr/local/pgsql/data/recovery.conf复制完成后修改如下内容: standby_mode = 'on'primary_conninfo ='host=10.0.2.69  port=5432 user=repuser password=repuser   keepalives_idle=60'
  9. 启动Slave库
    正常启动备库,有异常可以看log/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data >>logfile 2>&1
  10. 查看主库及从库启动状态
    Master:

    Slave:
  11. 至此postgresql流复制热备方案部署完成,可以通过navicat或者命令行进行数据插入或者建表测试功能可用性。
数据 数据库 文件 目录 配置 备份 拷贝 内容 参数 名称 选择 方式 方案 版本 件数 位置 功能 博客 可以通过 可用性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融与金融科技 平安科技 互联网 杭州互联网科技公司 成都玖崟互联网科技有限公司乐商圈怎么样 重庆威客帮互联网科技 互联网企业和科技型企业 成都铂石互联网科技做什么的 科技互联网大厂 无锡工业互联网科技有限公司 上海京穆互联网科技有限公司 智帮互联网科技公司最近动向 互联网科技股为什么大涨 2021世界互联网领先科技成果发布 广东鹅鹅鹅互联网科技有限公司 上海同邻互联网科技有限公司规模 广西科技产业互联网是什么 西安左小互联网科技有限公司 杭州融税互联网科技有限公司 科技互联网专业务虚会材料 瑞安市蟠桃会互联网科技有限公司 没上市的科技互联网公司 南京欣网互联网科技 银川新华互联网科技学校地址 互联网科技创新服务 全球顶尖互联网科技公司 苏州五指互联网络科技有限 卓翼科技产业互联网合作 上海钢联属于互联网科技股吗 厦门江牛科技互联网 互联网科技收购价值
0