测试环境: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的map()与jQuery.map()总结

    请注意他们不是同一个函数.前者是jQuery对象的实例方法(即$.fn.map),后者是一个仅仅挂在jQuery对象下的静态方法(即$.map). 他们用法的异同:map()的返回值是包裹了一个Arr ...

  2. apache 2.4.9 配置其他客户端访问 required all granted

    <Directory /> AllowOverride all #修改地方 Require all granted </Directory> # # Note that fro ...

  3. C程序设计语言练习题1-19

    练习1-19 编写函数reverse(s),将字符串s中的字符顺序颠倒过来.使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序.代码如下: #include <stdio.h> // ...

  4. c语言实现BMP图像转换为灰度图

    当初是自己要装X,非要用c来写信息隐藏作业,装了X,就得付出实践.查了好久资料,到期末才把作业交了,这里总结一下. 这道题是将真彩图转换为灰度图. 关于BMP文件结构,这是困扰了我好久的问题,上网查了 ...

  5. T-SQL表联接查询

    由于实践不足,总是忘记SQL Server 联接表查询的细节,在这里记录以便查询. 一.交叉联接 交叉联接仅执行一个罗辑查询处理阶段——笛卡尔积.也就是说,将一个输入表的每一行与另一个表的所有行匹配. ...

  6. use "man rsyslogd" for details. To run rsyslog interactively, use "rsyslogd -n"to run it in debug mo

    zjtest7-frontend:/root# service rsyslog start Starting system logger: usage: rsyslogd [options] use ...

  7. 自写 jQuery 大幅弹窗广告插件(不喜勿拍)

    最近写了做的两个项目都要做几乎同一件事,在首页弹出一个广告.本来是想在网上找一个的,找了几个,花了时间但都不怎么满意,尼玛呀,坑爹呀…… 最后一想,干脆自己动手了. 第一次写,在网上找一些例子来看. ...

  8. 2015.9.11模拟赛 codevs 4160【会玩的】

    题目描述 Description hzwer真的很会玩啊…他有一个n*m的方格,每次可以给方格添加一整行或一整列,但是不能删除.现在他想要让总格子数超过k个,但是又想让总格子数尽可能小.请找出这时的n ...

  9. Android中sharedPreference的简单使用

    public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super ...

  10. Android中ListView通过BaseAdapter实现数据的绑定

    1. public class ListFiles extends Activity { ListView Listview=null; protected void onCreate(Bundle ...