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執行
[code]
slonik
execute script ( set id = 1,event node = 2, filename = '/tmp/alterscript.sql');
[/code]
這樣ddl操作就可以在每乙個伺服器上正確的執行了。
但是,create表的操作,只會讓表在每乙個伺服器上建好,但是表中的資料卻不會同步,這是因為表還沒有加入到集群中去。
將表加入集群中需要:
第一:在主資料庫伺服器上新建乙個set
第二:將表和序列都新增到新建的set中
第三:新建subscribe,將資料提交。
第四:這樣我們的集群環境就會有2個結構一樣的set,我們採用merge set將兩個set合併為乙個。
ok。 這樣新加的表的資料也就進入集群同步環境了。
注意:在merge set時要繼續使用原來set的id和名字的時候,我們在merge的時候要將新set合併到舊set上去.
PostgreSQL資料庫集群 Slony I
slony i 是基於postgresql的非同步機制做的複製技術 其同步速度非常快。是主從架構。在在 線備 份方面用的比 較 廣泛。主要部件 cluster node replication set origin,providers and subscribers slon daemons slo...
PostgreSQL資料庫集群 Slony I
slony i 是基於postgresql的非同步機制做的複製技術 其同步速度非常快。是主從架構。在在 線備 份方面用的比 較 廣泛。主要部件 cluster node replication set origin,providers and subscribers slon daemons slo...
slony 集群某結點自動停止的原因
昨天,因為同事有事情所以在他離開前,交代工作比較匆忙,所以自己也倍感倉促。在往集群新增新錶的時候,因為乙個小的錯誤,即,給新錶賦許可權的時候,寫錯了角色。而且,由於他給的新錶沒有主鍵,而slony要求集群的表必須有主鍵。所以用slonik反覆更改了幾次。結果在merge表集合的時候,結點2長時間等待...