Slony集群环境下DDL

1.编写script脚本
Create table foo2 (id serial primary key,name char(22));//假设存为/tmp/AlterScript.sql

ALter table foo2 add anycol bigint; //假设存为/tmp/AlterScript.sql

2.用slonik执行
slonik
execute script ( set id = 1,event node = 2, filename = '/tmp/AlterScript.sql');


这样DDL操作就可以在每一个服务器上正确的执行了。

但是,Create表的操作,只会让表在每一个服务器上建好,但是表中的数据却不会同步,这是因为表还没有加入到集群中去。

将表加入集群中需要:

第一:在主数据库服务器上新建一个set

第二:将表和序列都添加到新建的set中

第三:新建subscribe,将数据提交。

第四:这样我们的集群环境就会有2个结构一样的set,我们采用merge set将两个set合并为一个。

OK。 这样新加的表的数据也就进入集群同步环境了。

注意:在merge set时要继续使用原来set的id和名字的时候,我们在merge的时候要将新set合并到旧set上去.

你可能感兴趣的:(数据结构,sql,脚本)