Postgresql通过Slony-I 实现数据库同步备份

Postgresql通过Slony-I 实现数据库同步备份

ID:37924367

大小:158.50 KB

页数:12页

时间:2019-06-02

Postgresql通过Slony-I 实现数据库同步备份_第1页
Postgresql通过Slony-I 实现数据库同步备份_第2页
Postgresql通过Slony-I 实现数据库同步备份_第3页
Postgresql通过Slony-I 实现数据库同步备份_第4页
Postgresql通过Slony-I 实现数据库同步备份_第5页
资源描述:

《Postgresql通过Slony-I 实现数据库同步备份》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Windows下Postgresql数据库通过Slony-I实现数据库同步备份一.       我们要实现的环境是windowsxp、windows7、windows2003或windows2008上安装Postgresql数据库,实现目的是多台数据库服务器进行数据库同步,即数据库同步更新、删除、插入等对数据库的操作。二.       使用的工具是数据库版本Postgresql8.4,配置集群的工具是StackBuilder自己的可安装的Slony-Iv2.0.4-1或者edb_slony_i_pg84.三.       Slony-I实现数据库集群同步的原理简述:Slony-i是采

2、用一主多从式集群方式,通过在主服务器和从服务器上建立同步节点,设置远程访问路径,启动监听进程(slon守护进程)进行监听,当主服务器进行了修改操作时,通过触发器触发,从进程进行异步修改来达到数据库同步。但是这种同步只能是从服务器备份主服务器,不能修改从服务器让主服务器同步。也即这种同步是单方向的。而且主、从服务器的postgres服务和slony-I服务都必须启动。四.先在两台机上安装postgresql和slony,且都建立一个test的数据库。在master节点的test库上建立需要复制的表,例如testtable,这些表必须要有主键(slony只是实现某个数据库,某些设定好的表

3、的同步更新,新建表不行)。需要多个表则建立多个。slave节点的test库可以不用建表。五.       详细步骤如下:1.环境OS:windowsServer2003SP1/2008;PostGreSQL:postgresql-8.2.4-1;Slony-I:postgresql-8.2.4-1自带的Slony-I;2.实现要求单向同步主服务器“172.16.1.1”到从服务器的“172.16.1.2”;其中主服务器IP:172.16.1.1,DBName:test,UserName:postgres,PassWord:111111;从服务器IP:172.16.1.2,DBName

4、:test,UserName:postgres,PassWord:111111;3.配置步骤step1:注册相应的动态链接库:在主服务器上以及从服务器上,进入%PG%/lib目录,运行“regsvr32slevent.dll”;step2:注册服务:在主服务器上以及从服务器上,进入%PG%/bin目录,运行“slon-regservice”;建立Slony-I服务。step3:建立联通性:在主服务器上以及从服务器上,编辑%PG%/data/pg_hba.conf,使网络中的两个数据库服务器能相互访问;都要加上主从的ip,必须保留127.0.0.1#IPv4localconnectio

5、ns:hostallall127.0.0.1/32md5hostallall172.16.1.1/32md5hostallall172.16.1.2/32md5step4:建立主服务器脚本文件“master.script”;master.script注:postgrecluster为群集名test为需要复制的数据库名testtable为复制表名(必须在两个库先建且要有主键)node1和node2中的1,2为节点的别名,可以用别的。------------------------------------------------------------------------------

6、------------------------------#定义集群名称clustername=postgrecluster;#定义复制节点#主节点node1adminconninfo='dbname=testhost=172.16.1.1user=postgrespassword=111111';#从节点node2adminconninfo='dbname=testhost=172.16.1.2user=postgrespassword=111111';#初始化集群,id从1开始initcluster(id=1,comment='MasterNode');#设置参与同步的数据表,

7、创建复制集,id也是从1开始,从复制集添加表createset(id=1,origin=1,comment='AlltestTables');setaddtable(setid=1,origin=1,id=1,fullyqualifiedname='public.testtable',comment='Tabletesttable');#设置存储节点,存储主从两个节点的信息storenode(id=2,comment='SlaveNode',eventno

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。