- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
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是采用一主多从式集群方式,通过在主服务器和从服务器上建立同步节点,设置远程访问路径,启动监听进程(slon守护进程)进行监听,当主服务器进行了修改操作时,通过触发器触发,从进程进行异步修改来达到数据库同步。但是这种同步只能是从服务器备份主服务器,不能修改从服务器让主服务器同步。也即这种同步是单方向的。而且主、从服务器的postgres服务和slony-I服务都必须启动。
四. 先在两台机上安装postgresql和slony,且都建立一个test的数据库。在master节点的test库上建立需要复制的表,例如testtable,
这些表必须要有主键(slony只是实现某个数据库,某些设定好的表的同步更新,新建表不行)。需要多个表则建立多个。slave节点的test库可以不用建表。
五. 详细步骤如下:
环境
OS:windowsServer2003SP1/2008;PostGreSQL:postgresql-8.2.4-1;
Slony-I:postgresql-8.2.4-1自带的Slony-I;
实现要求
单向同步主服务器“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:test,UserName:postgres,PassWord:111111;
配置步骤
step1:
注册相应的动态链接库:
在主服务器上以及从服务器上,进入%PG%/lib目录,运行“regsvr32slevent.dll”;
step2:
注册服务:
在主服务器上以及从服务器上,进入%PG%/bin目录,运行“slon-regservice”;
建立Slony-I服务。
step3:
建立联通性:
在主服务器上以及从服务器上,编辑%PG%/data/pg_hba.conf,使网络中的两个数据库服务器能相互访问;
都要加上主从的ip,必须保留127.0.0.1
#IPv4
local
connections:
host
all
all
127.0.0.1/32
md5
host
all
all
172.16.1.1/32
md5
host
all
all
172.16.1.2/32
md5
step4:
建立主服务器脚本文件“master.script”;
master.script
注:postgrecluster为群集名test为需要复制的数据库名testtable为复制表名(必须在两个库先建且要有主键)node1和node2中的1,2为节点的别名,可以用别的。
------------------------------------------------------------------------------------------------------------
#定义集群名称
clustername=postgrecluster;
#定义复制节点
#主节点
node1adminconninfo
=dbname=test
host=172.16.1.1
user=postgres
password
=111111;
#从节点
node2adminconninfo
=111111;
=dbname=test
host=172.16.1.2
user=postgres
password
#初始化集群,id从1开始
initcluster(id=1,comment=MasterNode);
#设置参与同步的数据表,创建复制集,id也是从1开始,从复制集添加表createset(id=1,origin=1,comment=Alltest Tables);
setaddtabl
您可能关注的文档
最近下载
- 《就业指导与实训》课程考试题库(含答案).pdf
- 狗洞修补处理实施方案修改.doc VIP
- 月度收入分析的定义目的意义会议运作与注意要点原则.ppt
- 2024至2030年中国体育健身休闲行业市场深度研究及投资规划建议报告.docx
- 消防水池混凝土质量缺陷处理方案..doc VIP
- 2023年主题团课PPT课件:牢记嘱托不负韶华奋斗青春.pptx VIP
- 00639《广播电视广告》复习资料.doc
- 2023-2024学年山东省枣庄市七年级上学期期末考试历史模拟试题(含答案).pdf
- 牧原股份首次覆盖报告:成本优势显著的生猪养殖龙头,充分受益行业高景气度.docx
- 《液压传动与气动技术》课程标准.docx VIP
文档评论(0)