Slony-I 1.2でslonik_merge_set,slonik_drop_setを使ってみた
Slony-Iでレプリケーションを実施中に、レプリケーション対象のテーブルを追加するため、slonik_merge_setを使ってみた。
slonik_merge_set は、直接テーブルを追加するのではなく、テーブルの集合としての setを作成し、既存のsetに追加する。このため、slonik経由でmerge_setを使う際には、まずslonik向けのsetの定義を行う必要がある。
手順としては、次のようになる。
1. マスター・スレーブの両側でテーブルを作成 2. slon_tools.conf にsetを追加 (tabel_idが重複しないよう十分大きいものを選ぶ)
-
- -
-
- -
逆に、slonの使用中にレプリケーションの対象テーブルを減らすには、slonik_drop_set を使う。slonik_drop_set には対象のsetと、テーブルIDが必要なため、あらかじめテーブルIDを確認しておく必要がある。
postgres> select * from _replication.sl_table;
テーブルIDが11とすると、次のようにdrop_tableを実施する。
$ slonik_drop_table 11 1 | slonik