pgsql的同步模式是根据master上的日志来做的同步,有两种同步方式,参考
http://www.chinaxing.org/articles/Postgres/2012/12/14/2012-12-14-hight-availability-in-postgresql.html

pgsql的日志有一个自动回收的特性,如果某些日志发现不需要了,pgsql会重命名他们,并且用新日志覆盖;这带来一个问题,如果传送给备机的日志还没有全部传好,但是master上已经没有了,就会导致问题,所以,pgsql提供了一个接口,在postgresql.conf里面配置archive_command,这个用于在流复制的时候,pgsql会调用这里配置的命令,官方wiki的例子是cp到自定义的日志目录(你可以自己rsync到备机,如果用rsync,master上的wal_keep_segments也要设大一些,防止在rsync完成之前日志就没了),在备机上修改recovery.conf,里面配置restore_command,这个命令也会被调用

关于9.1新增的pg_basebackup命令,德哥建议用rsync,看http://blog.163.com/digoal@126/blog/static/16387704020133277305874

archive模式的例子,亲测通过
master的postgresql.conf

wal_level = hot_standby
wal_keep_segments =
max_wal_senders = archive_mode = on
#这里之所以mkdir,是自己在配置的时候死活提示没有权限,发现路径不过,自己mkdir以后,就很清楚的知道在哪里了
archive_command = 'mkdir -p pg_archive;cp -i %p pg_archive/%f'

slave的recovery.conf,暂时随便找个地方放好了

standby_mode = on
primary_conninfo = 'host=192.168.1.111 user=repuser password=123456'
restore_command = 'cp pg_archive/%f %p'
#某个时候会自动调用cleanup清理,默认pg_archivecleanup没有安装,需要apt-get install postgresql-contrib
archive_cleanup_command = 'pg_archivecleanup pg_archive %r'

slave上使用pg_basebackup来同步的测试

sudo service postgresql stop;sudo rm -rf /var/lib/postgresql/9.4/main;sudo -u postgres pg_basebackup -h 192.168.1.111 -D /var/lib/postgresql/9.4/main -U repuser -v -P;sudo cp /home/mmc/Desktop/recovery.conf /var/lib/postgresql/9.4/main/;sudo service postgresql start;

pgsql的同步须知的更多相关文章

  1. 生产环境搭建高可用Harbor(包括恢复演练实操)

    生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...

  2. debian8下pgsql的主备同步热切手动脚本

    9以后,通过流复制直接做 主:192.168.1.111 从:192.168.1.222 需要在postgres帐号下先配置ssh互信,双机都配置 sh-keygen -t rsa ssh-copy- ...

  3. Mysql 和 Postgresql(PGSQL) 对比

    Mysql 和 Postgresql(PGSQL) 对比 转载自:http://www.oschina.net/question/96003_13994 PostgreSQL与MySQL比较 MySQ ...

  4. .NET面试题解析(07)-多线程编程与线程同步

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 关于线程的知识点其实是很多的,比如多线程编程.线程上下文.异步编程.线程同步构造.GUI的跨线程访问等等, ...

  5. .NET面试题解析(07)-多线程编程与线程同步 (转)

    http://www.cnblogs.com/anding/p/5301754.html 系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 关于线程的知识点其实 ...

  6. PostgreSQL的 Slony-I 数据同步

    原文--http://www.tuicool.com/articles/mMvARf 先谈谈slony的局限性: 1. DDL动作是不会被复制到: 2. 如果想使用slony来同步数据,表必须是带有主 ...

  7. inotify软件部署及实时同步

    声明:博主使用的是CentOS6.9的系统 参考资料: https://github.com/rvoicilas/inotify-tools/wiki http://www.ibm.com/devel ...

  8. 一.hadoop入门须知

    目录: 1.hadoop入门须知 2.hadoop环境搭建 3.hadoop mapreduce之WordCount例子 4.idea本地调试hadoop程序 5.hadoop 从mysql中读取数据 ...

  9. Slony-I同步复制部署

    本次测试环境 IP 10.189.102.118 10.189.100.195 10.189.100.226 PGHOME /usr/local/pgsql /usr/local/pgsql /usr ...

随机推荐

  1. cookie注入原理详解(一)

    那我们还是围绕以下几个问题来看看cookie注入: 1.什么是cookie注入? 2.为什么要cookie注入? 3.怎样cookie注入? 1.什么是cookie注入? ♦cookie注入的原理是: ...

  2. 20155201 实验二《Java面向对象程序设计》实验报告

    20155201 实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. ...

  3. HDU 6315 Naive Operations(线段树+区间维护)多校题解

    题意:a数组初始全为0,b数组题目给你,有两种操作: 思路:dls的思路很妙啊,我们可以将a初始化为b,加一操作改为减一,然后我们维护一个最小值,一旦最小值为0,说明至少有一个ai > bi,那 ...

  4. Python学习札记(二十八) 模块1

    参考:模块 NOTE 1.模块:一个.py文件称为一个模块. 2.代码模块化的意义:a.提升程序的可维护性 b.不用重复造轮子 3.避免模块冲突,解决方法:引入了按目录来组织模块的方法,称为包(Pac ...

  5. SQL优化:清理生产环境中已失效字段基本步骤

    1.统计相应字段的数据情况(如:几年没更新,无数据等情况) 2.确认产品逻辑已无效(产品经理邮件确认) 3.数据备份 4.将数据清空(置为0或空) 5.测试环境中删除引用页面 6.修改定时程序,存储过 ...

  6. tfn2k工具使用介绍

    主要介绍tfn2k(Linux),因为它最著名嘛!主要分为使用说明 然后在说安装所以有点长 (注意:有的人拿VPS来做DDOS·问题是有的人发现了会关闭你VPS的·除非你认识他或者你自己有服务器而不是 ...

  7. 优化 Redis 的使用策略

    Redis Key 的命名策略 Redis 是 K-V 形式的缓存数据库,每一个需要缓存的 Object 都需要唯一的 Key 来标识.但是,我们日常在做开发的时候,经常会出现一个公司或者部门之间共用 ...

  8. Angular4笔记——表单状态相关的属性

    表单状态字段(FromControl)touched和untouched用来判断用户是否访问过一个字段(也就是这个字段是否获取过焦点,如果获取过焦点,touched是true,untouched是fa ...

  9. Java网络编程和NIO详解6:Linux epoll实现原理详解

    Java网络编程和NIO详解6:Linux epoll实现原理详解 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎阅览我的CSDN专栏:Java网络编程和NIO h ...

  10. ubuntu16 Intellij Idea Install&config

    1,下载idea二进制文件,有免费和不免费的. https://www.jetbrains.com/idea/download/#section=linux 2,解压下载文件. tar -xvzf . ...