replication and load balancing srcripts
[Evergreen.git] / Evergreen / src / extras / import / sparkle.replicate.slonik
1 #!/bin/sh
2
3 CLUSTER=prod_replica_set
4 DBNAME=sparkle
5 MASTERHOST=10.1.0.13
6 SLAVEHOST=10.1.0.14
7 STATSHOST=10.1.0.11
8 PGUSER=postgres
9 BINDIR=/opt/pg814/bin
10
11 $BINDIR/slonik <<_EOF_
12
13         #--
14         # define the namespace the replication system uses in our example it is
15         # slony_example
16         #--
17
18         cluster name = $CLUSTER;
19
20         #--
21         # admin conninfo's are used by slonik to connect to the nodes one for each
22         # node on each side of the cluster, the syntax is that of PQconnectdb in
23         # the C-API
24         # --
25
26         node 1 admin conninfo = 'dbname=$DBNAME host=$MASTERHOST user=$PGUSER';
27         node 2 admin conninfo = 'dbname=$DBNAME host=$SLAVEHOST user=$PGUSER';
28         node 3 admin conninfo = 'dbname=$DBNAME host=$STATSHOST user=$PGUSER';
29
30         #--
31         # init the first node.  Its id MUST be 1.  This creates the schema
32         # _$CLUSTERNAME containing all replication system specific database
33         # objects.
34         #--
35
36         init cluster ( id=1, comment = 'Master Node');
37
38         #--
39         # Slony-I organizes tables into sets.  The smallest unit a node can
40         # subscribe is a set.
41         #--
42
43         create set (id=1, origin=1, comment='All Open-ILS Tables');
44
45         set add table (set id=1, origin=1, id=1, fully qualified name = 'offline.script', comment = '');
46         set add table (set id=1, origin=1, id=2, fully qualified name = 'offline.session', comment = '');
47
48         set add table (set id=1, origin=1, id=3, fully qualified name = 'config.bib_source', comment = '');
49         set add table (set id=1, origin=1, id=4, fully qualified name = 'config.standing', comment = '');
50         set add table (set id=1, origin=1, id=5, fully qualified name = 'config.metabib_field', comment = '');
51         set add table (set id=1, origin=1, id=6, fully qualified name = 'config.non_cataloged_type', comment = '');
52         set add table (set id=1, origin=1, id=7, fully qualified name = 'config.identification_type', comment = '');
53         set add table (set id=1, origin=1, id=8, fully qualified name = 'config.rule_circ_duration', comment = '');
54         set add table (set id=1, origin=1, id=9, fully qualified name = 'config.rule_max_fine', comment = '');
55         set add table (set id=1, origin=1, id=10, fully qualified name = 'config.rule_recuring_fine', comment = '');
56         set add table (set id=1, origin=1, id=11, fully qualified name = 'config.rule_age_hold_protect', comment = '');
57         set add table (set id=1, origin=1, id=12, fully qualified name = 'config.copy_status', comment = '');
58         set add table (set id=1, origin=1, id=13, fully qualified name = 'config.net_access_level', comment = '');
59         set add table (set id=1, origin=1, id=14, fully qualified name = 'config.audience_map', comment = '');
60         set add table (set id=1, origin=1, id=15, fully qualified name = 'config.lit_form_map', comment = '');
61         set add table (set id=1, origin=1, id=16, fully qualified name = 'config.language_map', comment = '');
62         set add table (set id=1, origin=1, id=17, fully qualified name = 'config.item_form_map', comment = '');
63         set add table (set id=1, origin=1, id=18, fully qualified name = 'config.item_type_map', comment = '');
64         
65         set add table (set id=1, origin=1, id=19, fully qualified name = 'actor.usr', comment = '');
66         set add table (set id=1, origin=1, id=20, fully qualified name = 'actor.usr_note', comment = '');
67         set add table (set id=1, origin=1, id=21, fully qualified name = 'actor.usr_standing_penalty', comment = '');
68         set add table (set id=1, origin=1, id=22, fully qualified name = 'actor.usr_setting', comment = '');
69         set add table (set id=1, origin=1, id=23, fully qualified name = 'actor.stat_cat', comment = '');
70         set add table (set id=1, origin=1, id=24, fully qualified name = 'actor.stat_cat_entry', comment = '');
71         set add table (set id=1, origin=1, id=25, fully qualified name = 'actor.stat_cat_entry_usr_map', comment = '');
72         set add table (set id=1, origin=1, id=26, fully qualified name = 'actor.card', comment = '');
73         set add table (set id=1, origin=1, id=34, fully qualified name = 'actor.usr_address', comment = '');
74         
75         set add table (set id=1, origin=1, id=27, fully qualified name = 'actor.org_unit_type', comment = '');
76         set add table (set id=1, origin=1, id=28, fully qualified name = 'actor.org_unit', comment = '');
77         set add table (set id=1, origin=1, id=29, fully qualified name = 'actor.org_unit_proximity', comment = '');
78         set add table (set id=1, origin=1, id=30, fully qualified name = 'actor.hours_of_operation', comment = '');
79         set add table (set id=1, origin=1, id=31, fully qualified name = 'actor.org_unit_closed', comment = '');
80         set add table (set id=1, origin=1, id=32, fully qualified name = 'actor.workstation', comment = '');
81         set add table (set id=1, origin=1, id=33, fully qualified name = 'actor.org_unit_setting', comment = '');
82         set add table (set id=1, origin=1, id=35, fully qualified name = 'actor.org_address', comment = '');
83         
84         set add table (set id=1, origin=1, id=36, fully qualified name = 'permission.perm_list', comment = '');
85         set add table (set id=1, origin=1, id=37, fully qualified name = 'permission.grp_tree', comment = '');
86         set add table (set id=1, origin=1, id=38, fully qualified name = 'permission.grp_perm_map', comment = '');
87         set add table (set id=1, origin=1, id=39, fully qualified name = 'permission.usr_perm_map', comment = '');
88         set add table (set id=1, origin=1, id=40, fully qualified name = 'permission.usr_grp_map', comment = '');
89         
90         set add table (set id=1, origin=1, id=41, fully qualified name = 'biblio.record_entry', comment = '');
91         set add table (set id=1, origin=1, id=42, fully qualified name = 'biblio.record_note', comment = '');
92         
93         set add table (set id=1, origin=1, id=43, fully qualified name = 'authority.record_entry', comment = '');
94         set add table (set id=1, origin=1, id=44, fully qualified name = 'authority.record_note', comment = '');
95         set add table (set id=1, origin=1, id=45, fully qualified name = 'authority.rec_descriptor', comment = '');
96         set add table (set id=1, origin=1, id=46, fully qualified name = 'authority.full_rec', comment = '');
97         
98         set add table (set id=1, origin=1, id=47, fully qualified name = 'metabib.metarecord', comment = '');
99         set add table (set id=1, origin=1, id=48, fully qualified name = 'metabib.title_field_entry', comment = '');
100         set add table (set id=1, origin=1, id=49, fully qualified name = 'metabib.author_field_entry', comment = '');
101         set add table (set id=1, origin=1, id=50, fully qualified name = 'metabib.subject_field_entry', comment = '');
102         set add table (set id=1, origin=1, id=51, fully qualified name = 'metabib.keyword_field_entry', comment = '');
103         set add table (set id=1, origin=1, id=52, fully qualified name = 'metabib.series_field_entry', comment = '');
104         set add table (set id=1, origin=1, id=53, fully qualified name = 'metabib.rec_descriptor', comment = '');
105         set add table (set id=1, origin=1, id=54, fully qualified name = 'metabib.full_rec', comment = '');
106         set add table (set id=1, origin=1, id=55, fully qualified name = 'metabib.metarecord_source_map', comment = '');
107         
108         set add table (set id=1, origin=1, id=56, fully qualified name = 'asset.copy_location', comment = '');
109         set add table (set id=1, origin=1, id=57, fully qualified name = 'asset.copy', comment = '');
110         set add table (set id=1, origin=1, id=61, fully qualified name = 'asset.stat_cat', comment = '');
111         set add table (set id=1, origin=1, id=62, fully qualified name = 'asset.stat_cat_entry', comment = '');
112         set add table (set id=1, origin=1, id=63, fully qualified name = 'asset.stat_cat_entry_copy_map', comment = '');
113         set add table (set id=1, origin=1, id=64, fully qualified name = 'asset.copy_note', comment = '');
114         set add table (set id=1, origin=1, id=65, fully qualified name = 'asset.call_number', comment = '');
115         set add table (set id=1, origin=1, id=66, fully qualified name = 'asset.call_number_note', comment = '');
116         
117         set add table (set id=1, origin=1, id=67, fully qualified name = 'container.copy_bucket', comment = '');
118         set add table (set id=1, origin=1, id=68, fully qualified name = 'container.copy_bucket_item', comment = '');
119         set add table (set id=1, origin=1, id=69, fully qualified name = 'container.call_number_bucket', comment = '');
120         set add table (set id=1, origin=1, id=70, fully qualified name = 'container.call_number_bucket_item', comment = '');
121         set add table (set id=1, origin=1, id=71, fully qualified name = 'container.biblio_record_entry_bucket', comment = '');
122         set add table (set id=1, origin=1, id=72, fully qualified name = 'container.biblio_record_entry_bucket_item', comment = '');
123         set add table (set id=1, origin=1, id=73, fully qualified name = 'container.user_bucket', comment = '');
124         set add table (set id=1, origin=1, id=74, fully qualified name = 'container.user_bucket_item', comment = '');
125         
126         set add table (set id=1, origin=1, id=75, fully qualified name = 'money.collections_tracker', comment = '');
127         set add table (set id=1, origin=1, id=76, fully qualified name = 'money.billable_xact', comment = '');
128         set add table (set id=1, origin=1, id=77, fully qualified name = 'money.grocery', comment = '');
129         set add table (set id=1, origin=1, id=78, fully qualified name = 'money.billing', comment = '');
130         set add table (set id=1, origin=1, id=79, fully qualified name = 'money.payment', comment = '');
131         set add table (set id=1, origin=1, id=80, fully qualified name = 'money.bnm_payment', comment = '');
132         set add table (set id=1, origin=1, id=81, fully qualified name = 'money.forgive_payment', comment = '');
133         set add table (set id=1, origin=1, id=82, fully qualified name = 'money.work_payment', comment = '');
134         set add table (set id=1, origin=1, id=83, fully qualified name = 'money.credit_payment', comment = '');
135         set add table (set id=1, origin=1, id=84, fully qualified name = 'money.bnm_desk_payment', comment = '');
136         set add table (set id=1, origin=1, id=85, fully qualified name = 'money.cash_payment', comment = '');
137         set add table (set id=1, origin=1, id=86, fully qualified name = 'money.check_payment', comment = '');
138         set add table (set id=1, origin=1, id=87, fully qualified name = 'money.credit_card_payment', comment = '');
139         
140         set add table (set id=1, origin=1, id=88, fully qualified name = 'action.in_house_use', comment = '');
141         set add table (set id=1, origin=1, id=89, fully qualified name = 'action.non_cataloged_circulation', comment = '');
142         set add table (set id=1, origin=1, id=90, fully qualified name = 'action.survey', comment = '');
143         set add table (set id=1, origin=1, id=91, fully qualified name = 'action.survey_question', comment = '');
144         set add table (set id=1, origin=1, id=92, fully qualified name = 'action.survey_answer', comment = '');
145         set add table (set id=1, origin=1, id=93, fully qualified name = 'action.survey_response', comment = '');
146         set add table (set id=1, origin=1, id=94, fully qualified name = 'action.circulation', comment = '');
147         set add table (set id=1, origin=1, id=95, fully qualified name = 'action.hold_request', comment = '');
148         set add table (set id=1, origin=1, id=96, fully qualified name = 'action.hold_notification', comment = '');
149         set add table (set id=1, origin=1, id=97, fully qualified name = 'action.hold_copy_map', comment = '');
150         set add table (set id=1, origin=1, id=98, fully qualified name = 'action.transit_copy', comment = '');
151         set add table (set id=1, origin=1, id=99, fully qualified name = 'action.hold_transit_copy', comment = '');
152         set add table (set id=1, origin=1, id=100, fully qualified name = 'action.unfulfilled_hold_list', comment = '');
153
154         #set add table (set id=1, origin=1, id=101, fully qualified name = 'auditor.actor_org_unit_history', comment = '', key = serial);
155         #set add table (set id=1, origin=1, id=102, fully qualified name = 'auditor.actor_usr_address_history', comment = '', key = serial);
156         #set add table (set id=1, origin=1, id=103, fully qualified name = 'auditor.actor_usr_history', comment = '', key = serial);
157         #set add table (set id=1, origin=1, id=104, fully qualified name = 'auditor.asset_call_number_history', comment = '', key = serial);
158         #set add table (set id=1, origin=1, id=105, fully qualified name = 'auditor.asset_copy_history', comment = '', key = serial);
159         #set add table (set id=1, origin=1, id=106, fully qualified name = 'auditor.biblio_record_entry_history', comment = '', key = serial);
160
161         set add sequence (set id=1, origin=1, id=1, fully qualified name = 'action.survey_response_group_id_seq', comment = '');
162
163         # TSearch2 tables
164         set add table (set id=1, origin=1, id=107, fully qualified name = 'public.pg_ts_cfg', comment = '');
165         set add table (set id=1, origin=1, id=108, fully qualified name = 'public.pg_ts_cfgmap', comment = '');
166         set add table (set id=1, origin=1, id=109, fully qualified name = 'public.pg_ts_dict', comment = '');
167         set add table (set id=1, origin=1, id=110, fully qualified name = 'public.pg_ts_parser', comment = '');
168
169       
170         store node (id=2, comment = 'Active Slave node');
171         #store node (id=3, comment = 'Statistical Reporting node');
172
173         store path (server = 1, client = 2, conninfo='dbname=$DBNAME host=$MASTERHOST user=$PGUSER');
174         #store path (server = 1, client = 3, conninfo='dbname=$DBNAME host=$MASTERHOST user=$PGUSER');
175
176         store path (server = 2, client = 1, conninfo='dbname=$DBNAME host=$SLAVEHOST user=$PGUSER');
177         #store path (server = 2, client = 3, conninfo='dbname=$DBNAME host=$SLAVEHOST user=$PGUSER');
178
179         #store path (server = 3, client = 1, conninfo='dbname=$DBNAME host=$STATSHOST user=$PGUSER');
180         #store path (server = 3, client = 2, conninfo='dbname=$DBNAME host=$STATSHOST user=$PGUSER');
181
182         store listen (origin=1, provider = 1, receiver =2);
183         store listen (origin=2, provider = 2, receiver =1);
184
185         #store listen (origin=2, provider = 2, receiver =3);
186         #store listen (origin=3, provider = 3, receiver =2);
187
188         #store listen (origin=1, provider = 1, receiver =3);
189         #store listen (origin=3, provider = 3, receiver =1);
190
191 _EOF_