PostgreSQL的 Slony-I 数据同步
原文--http://www.tuicool.com/articles/mMvARf
先谈谈slony的局限性:
1. DDL动作是不会被复制到;
2. 如果想使用slony来同步数据,表必须是带有主键的
内容大家看原文;个人感觉总结的很好!
下面是为slony维护;定制的脚本
包括了服务启动/关闭;以及slony set删除/安装。
#!/bin/sh
SLONIK=/opt/pgsql/bin/slonik
SLON=/opt/pgsql/bin/slon
CLUSTER_NAME=lottu_cluster
MASTERDBNAME=masterdb
SLAVEDBNAME=slavedb
MASTERHOST=192.168.8.121
SLAVEHOST=192.168.8.120
REPLICATIONUSER=postgres
PASSWORD=li0924
uninstall()
{
$SLONIK << _EOF_
cluster name = $CLUSTER_NAME;
node admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST user=$REPLICATIONUSER password=$PASSWORD';
node admin conninfo = 'dbname=$SLAVEDBNAME host=$SLAVEHOST user=$REPLICATIONUSER password=$PASSWORD';
uninstall node (id = );
uninstall node (id = );
_EOF_
}
install()
{
$SLONIK << _EOF_
#--
# define the namespace the replication system
# uses in our example it is slony_example
#--
cluster name = $CLUSTERNAME;
#--
# admin conninfo's are used by slonik to connect to
# the nodes one for eachnode on each side of the cluster,
# the syntax is that of PQconnectdb in
# the C-API
# --
node admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST user=$REPLICATIONUSER password=$PASSWORD';
node admin conninfo = 'dbname=$SLAVEDBNAME host=$SLAVEHOST user=$REPLICATIONUSER password=$PASSWORD';
#--
# init the first node. Its id MUST be 1. This creates
# the schema _$CLUSTERNAME containing all replication
# system specific database objects.
#--
init cluster ( id=, comment = 'Master Node');
#--
# Slony-I organizes tables into sets. The smallest unit
# a node can subscribe is a set. The master or origin of
# the set is node 1.
#--
create set (id=, origin=, comment='All lottu tables');
set add table (set id=, origin=, id=,
fully qualified name = 'public.lottu',
comment='lottu table');
# set add sequence (set id=1, origin = 1, id = 1,
# fully qualified name = 'public.t1_id_seq',
# comment = 't1 id sequence');
#--
# Create the second node (the slave) tell the 2 nodes how
# to connect to each other and how they should listen for events.
#--
store node (id=, comment = );
store path (server = , client = , conninfo='dbname=$MASTERDBNAME host=$MASTERHOST user=$REPLICATIONUSER password=$PASSWORD');
store path (server = , client = , conninfo='dbname=$SLAVEDBNAME host=$SLAVEHOST user=$REPLICATIONUSER password=$PASSWORD');
_EOF_
}
start()
{
$SLON $CLUSTER_NAME "dbname=$MASTERDBNAME host=$MASTERHOST user=$REPLICATIONUSER password=$PASSWORD" >> /home/postgresql/master.log &
# $SLON $CLUSTER_NAME "$SLAVE" >> /home/postgresql/slave.log &
}
stop()
{
# killall slon
`ps axu|grep 'dbname=masterdb' |grep -v grep|awk '{print $2}'`
}
case $ in
'install')
install
;;
'uninstall')
uninstall
;;
'start')
start
;;
'stop')
stop
;;
*)
echo "usage: $0 {install|uninstall|start|stop} "
;;
esac
PostgreSQL的 Slony-I 数据同步的更多相关文章
- 数据同步DataX
数据同步那些事儿(优化过程分享) 简介 很久之前就想写这篇文章了,主要是介绍一下我做数据同步的过程中遇到的一些有意思的内容,和提升效率的过程. 当前在数据处理的过程中,数据同步如同血液一般充满全过 ...
- 转载:MySQL和Redis 数据同步解决方案整理
from: http://blog.csdn.net/langzi7758521/article/details/52611910 最近在做一个Redis箱格信息数据同步到数据库Mysql的功能. 自 ...
- oracle数据同步
随着各行业信息化水平的不断提升,各种各样的信息管理系统都被广泛使用,各系统间数据完全独立,形成了大量的信息孤岛.出于管理及决策方面的需求,实现各平台的数据同步是一个很迫切的需求,TreeSoft数据库 ...
- mysql数据同步
随着各行业信息化水平的不断提升,各种各样的信息管理系统都被广泛使用,各系统间数据完全独立,形成了大量的信息孤岛.出于管理及决策方面的需求,实现各平台的数据同步是一个很迫切的需求,TreeSoft数据库 ...
- 基于TreeSoft实现异构数据同步
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路. TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...
- 基于TreeSoft实现mysql、oracle、sql server的数据同步
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护需求,TreeSoft推出了数据同步,数据处理等丰富功能 . TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之间架起沟通的桥 ...
- Oracle数据同步交换
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路. TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...
- SQL Server数据同步交换
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路. TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...
- MySQL数据同步交换
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路. TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...
- 环境篇:数据同步工具DataX
环境篇:数据同步工具DataX 1 概述 https://github.com/alibaba/DataX DataX是什么? DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 ...
随机推荐
- 01.Box2dWeb入门教程
1.下载box2dweb.直接在页面中引用即可. -Box2D.js是未压缩版 -Box2d.min.js是压缩版 2.编写HelloWorld代码. <!DOCTYPE HTML> &l ...
- cocos2dx 3.x(获取当前系统时间)
// // MainScene.cpp // helloworld // // Created by apple on 16/10/21. // // #include "MainScene ...
- WPF 面试题及答案(三)
一 · 路由事件的三种方式/策略(冒泡 直接 隧道) WPF中的路由事件是沿着VisualTree传递的,作用是用来调用应用程序的元素树上的各种监听器上的处理程序. (1)冒泡,这种事件处理方式是从源 ...
- spring mvc 的Controller类默认Scope是单例(singleton)的
使用Spring MVC有一段时间了,之前一直使用Struts2,在struts2中action都是原型(prototype)的, 说是因为线程安全问题,对于Spring MVC中bean默认都是(s ...
- Java基础之访问文件与目录——创建目录(CreatingDirectories)
控制台程序,使用两种方法来创建目录. import java.nio.file.*; import java.io.IOException; public class CreatingDirector ...
- PostgreSQL数据库postgresql.conf部分相关参数
listen_addresses:#指定数据库用来监听客户端连接的TCP/IP地址,默认是值是* ,表示数据库在启动以后将在运行数据的机器上的所有的IP地址上监听用户请求,可以写成机器的名字,也可以写 ...
- 树形DP+二分(Information Disturbing HDU3586)
题意:给出一颗数,1结点代表司令部,叶子节点代表前线,边全值代表花费,然后需要在某些边放置一些炸弹,炸弹的能量不能小于该边的费用,且炸掉的总费用不能超过m问炸弹能力最小多少, 分析dfs+二分,二分枚 ...
- C++之路进阶——codevs2313(星际竞速)
2313 星际竞速 2010年省队选拔赛山东 时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 10 年一度的银河系 ...
- C++之路进阶——bzoj1823(满汉全席)
F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser hyxzc Logout 捐赠本站 Notice:由于本OJ建立在 ...
- ls -l 列表信息详解
我们平时用ls -l 命令查看一个目录下的文件和子目录的详悉信息时,会得到一个详细的文件和目录名列表.这个列表包含了文件的属性,所属用户,所属组,创建时间,文件大小等等信息.这些信息到底是什么意思呢? ...