测试环境:postgresql 9.3.5,slony-I2.2.3(application stack builder提供)以下参考网上教程亲自测试总结

-----------------------------------------------------------------------------------------------------------------------

主机:192.168.19.1    从机:192.168.19.2

(主从机)数据库名称:postgres,用户名:postgres,密码:admin

-----------------------------------------------------确保通讯----------------------------------------------------------

1.关闭主机和从机的防火墙(或者打通5432端口,允许通过防火墙)

2.修改主从机pg_hba.conf文件,这两步都是确保通讯正常

# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.19.0/24 trust//new add line

-----------------------------------------------------配置从机----------------------------------------------------------

1.在从机上安装slony-I2.2.3

2.进入%PG%/bin 运行命令slon -regservice,注册slony-I服务,这时在任务管理器中的服务一列可见此项。

3.在从机上bin下加入配置文件slony_slave.conf,进入%PG%/bin 运行命令slon -addengine slony_slave.conf

#集群名称
cluster_name = Cluster #连接从服务器的信息
conn_info = 'dbname=postgres host=192.168.19.2 user=postgres password=admin'

4.在任务管理器中的服务一列开启slony-I服务。

-----------------------------------------------------配置主机----------------------------------------------------------

前四步与从机一样。

1.在主机上安装slony-I2.2.3

2.进入%PG%/bin 运行命令slon -regservice,注册slony-I服务,这时在任务管理器中的服务一列可见此项。

3.在主机上bin下加入配置文件slony_master.conf,进入%PG%/bin 运行命令slon -addengine slony_master.conf

#集群名称
cluster_name = Cluster #连接主服务器的信息
conn_info = 'dbname=postgres host=192.168.19.1 user=postgres password=admin'

4.在任务管理器中的服务一列开启slony-I服务。

5.在主机上bin下加入配置文件master.script,进入%PG%/bin 运行命令slonik master.script

cluster name = Cluster; #指明要定义的Cluster名

node 1 admin conninfo = 'dbname=postgres host=192.168.19.1 user=postgres password=admin';
node 2 admin conninfo = 'dbname=postgres host=192.168.19.2 user=postgres password=admin'; init cluster(id = 1, comment = 'Master Cluster'); #初始化Cluster,ID从1开始 store node ( id = 2, comment = 'Slave Node', event node=1); #定义从库节点 #定义路由路径
#主节点
store path ( server=1, client=2, conninfo = 'dbname=postgres host=192.168.19.1 user=postgres password=admin');
store path ( server=2, client=1, conninfo = 'dbname=postgres host=192.168.19.2 user=postgres password=admin');
#添加事件监听
#设置侦听事件和订阅方向,复制中角色,主节点是原始提供者,从节点是接受者
store listen ( origin = 1, provider = 1, receiver = 2 );
store listen ( origin = 2, provider = 2, receiver = 1 ); create set ( id = 1, origin = 1, comment = 'Data Provider' ); #定义复制集, origin指明主库 set add table ( set id = 1, origin = 1, id = 1, fully qualified name = 'public.Point', comment='Point Table' );
#为复制集合中增加表, fully qualified name 指明了要复制的表名. SUBSCRIBE SET (ID = 1, PROVIDER = 1, RECEIVER = 2, FORWARD = YES);

-----------------------------------------------------配置完成----------------------------------------------------------

pgAdmin3下主机可以看到如图,从机也差不多这些东西。现在在主机上对point表做的任何改变,从机是也是跟着变的。

注意:主从机备份表的结构要一致,备份的表要有主键否则会出错。

Slony-I双机备份的更多相关文章

  1. sql2008R2数据库备份--双机备份

    二.解决SQL2008代理作业出现错误: c001f011维护计划创建失败的解决方法 SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-49 ...

  2. Oracle_双机备份

    1.dataguard http://jingyan.baidu.com/article/f96699bb956ef2894e3c1b39.html http://blog.itpub.net/262 ...

  3. 20161025__Oracle10g双机备份

    1.主要流程,参考: 完整 Oracle10G DataGuard安装文档_百度文库.html http://wenku.baidu.com/link?url=8A7nJGSwRu-83mxEIqGE ...

  4. ubuntu上的mysql数据库双机备份设置

    配置环境: myslq 5.5.3 + ubuntu server 12.04 一.配置MySQL主服务器(192.168.0.1) 1.增加一个账号专门用于同步 1 mysql>grant r ...

  5. 从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境

    ★几个关键的事项★ 需要关闭防火墙filewalld跟selinux ,在root用户下操作: [root@localhost svnRepos]# systemctl stop firewalld ...

  6. LINUX 自动备份脚本文件

    首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /roo ...

  7. RAID与双机热备简单介绍与区别

    一.    RAID技术详解 RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Arra ...

  8. Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结

    配置Mysql server 5.5 的双机备份,也就是master-slave模式.本例子还是一个多database复制的情况. 现在有两个database在同一台mysql server,也就是m ...

  9. oracle双机热备概念

    1. 双机热备概述      双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式.      基于存储共享的双机热备是双机热备的最标准方案. ...

随机推荐

  1. jquery中attr、prop、data

    在高版本的jquery中获取标签的属性,可以使用attr().prop().data(),那么这些方法有什么区别呢? 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于HTML元 ...

  2. 【结构型】Flyweight模式

    享元模式的主要目的.意图是为对象的大量使用提供一种共享机制.该模式的思想重在复用.共享复用.像文字.列表中的格子等这类多数都是需要考虑复用技术,否则必将大量耗费内存空间而使资源以及性能等大量耗费.该模 ...

  3. Day02

    1.os.system()和os.popen() os.popen() 功能强于os.system() , os.popen() 可以返回回显的内容,以文件描述符返回 eg: import os re ...

  4. 文本框Edit

    支持换行就要把 Multiline 设置为TRUE Edit窗口是用来接收用户输入最常用的一个控件.创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpsz ...

  5. 转:解决方案your project contains error s please fix them before running your application

    文章来自于:http://www.mythroad.net/2013/08/05/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88your-project-contains-e ...

  6. 利用mongoimport命令导入csv大文件

    最近我同事做了一个PHP项目,其中有一个功能是 上传excel文件并将数据导入mongodb某个集合中. 通常的做法是 写一个上传文件的页面,然后后端 读取 这个文件,利用phpexcel类库将这个e ...

  7. 健身计划_from85to75

    第一天没什么好写的,这半年也没看什么书,就写写未来的规划好了. 当然是从最简单的健身计划开始写咯. 关键词:弹性 目标:减肥,上肢力量 时间:3-4次/周(Thur,Fri,Sat,Sun),1h-1 ...

  8. android 让一个控件按钮居于底部的几种方法

    android 让一个控件按钮居于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp" <!-- 这里不能设置fill_ ...

  9. Windows登录脚本可以限制并发登录吗

    在Windows服务器中,使用一个Windows登录脚本来限制并发会话靠谱吗? 事实上,这种解决方案存在很多缺点和弱点,并不能满足大中型IT基础设施的安全性需求. 一.使用登陆脚本限制并发会话,恶意用 ...

  10. 基于SQL_ID查看对象大小

    SQL> set echo off set echo off set verify off set serveroutput on set feedback off set lines 200 ...