Slony1 Replication

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Slony1 replication

7aac2c61437b4bb3a7a92ad422d9ae44

Slony1 replication

Slony1 replication 1. Buat masig-masing server terkoneksi, dan masing-masing instance PostgreSQL bisa
saling konek

1. Copy struktur data

pg_dumpall -s -c -l dbgisbkam > dbgisbkam.ddl.sql psql -f dbgisbkam.ddl.sql -h slonslave -U postgres -


W

atau:

pg_dumpall -h localhost -p 5432 -s -c -l dbgisbkam -U slony -W > dbgisbkam.ddl.sql psql -f


dbmaster.ddl.sql -h slonslave -p 5432 -d template_postgis -U slony -W

Di server slave, sekarang sudah ada database, tanpa ada data


samasekali.

2a. Pastikan timezone yang ‘dikenal’ PostgreSQL, misalnya pilih saja UTC dengan menjalankan:

sudo dpkg-reconfigure tzdata

2b. Pada postgresql.conf, ubah juga timezone menjadi ‘GMT’

1. Jalankan ini untuk menginisiasi cluster:

#!/usr/bin/slonik define CLUSTER cname; define PRIMARY 1; define SLAVE 10; cluster name = @CLUSTER;

node @PRIMARY admin conninfo = ‘dbname=dbgisbkam host=slonmaster user=postgres’;

node @SLAVE admin conninfo = ‘dbname=dbgisbkam host=slonslave user=postgres’;

init cluster (id=@PRIMARY, comment=‘Primary Slony Node’);

store node (id=@SLAVE, event node=@PRIMARY, comment=‘Slave Slony Node’);

store path (server=@PRIMARY, client=@SLAVE, conninfo=‘dbname=dbgisbkam host=slonmaster


user=postgres’);

store path (server=@SLAVE, client=@PRIMARY, conninfo=‘dbname=dbgisbkam host=slonslave


user=postgres’);
1. Jalankan ini untuk subscribe data content:

#!/usr/bin/slonik define CLUSTER cname; define PRIMARY 1; define SLAVE 10; cluster name = @CLUSTER;

node @PRIMARY admin conninfo = ‘dbname=db host=slonmaster user=slony’; node @SLAVE admin
conninfo = ‘dbname=db host=slonslave user=slony’;

create set (id=1, origin=@PRIMARY, comment=‘set1’);

set add table (id=1, set id=1, origin = @PRIMARY, fully qualified name = ‘public.geo_laponline’, comment
= ‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully qualified name = ‘public.lap_data’,
comment = ‘table’); set add table (id=3, set id=1, origin = @PRIMARY, fully qualified name =
‘public.lap_online’, comment = ‘table’); set add table (id=4, set id=1, origin = @PRIMARY, fully qualified
name = ‘public.r_ambangrawan’, comment = ‘table’); set add table (id=5, set id=1, origin = @PRIMARY,
fully qualified name = ‘public.r_bulan’, comment = ‘table’); set add table (id=6, set id=1, origin =
@PRIMARY, fully qualified name = ‘public.r_dampak’, comment = ‘table’); set add table (id=7, set id=1,
origin = @PRIMARY, fully qualified name = ‘public.r_gangguan’, comment = ‘table’); set add table (id=8,
set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_gdampak’, comment = ‘table’); set add table
(id=9, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_gkategori’, comment = ‘table’); set
add table (id=10, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_jnskejahatan’, comment =
‘table’); set add table (id=11, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_kategori’,
comment = ‘table’); set add table (id=12, set id=1, origin = @PRIMARY, fully qualified name =
‘public.r_kejahatan’, comment = ‘table’); set add table (id=13, set id=1, origin = @PRIMARY, fully qualified
name = ‘public.r_lap_kategori’, comment = ‘table’); set add table (id=14, set id=1, origin = @PRIMARY,
fully qualified name = ‘public.r_msldampak’, comment = ‘table’); set add table (id=15, set id=1, origin =
@PRIMARY, fully qualified name = ‘public.r_mslkategori’, comment = ‘table’); set add table (id=16, set
id=1, origin = @PRIMARY, fully qualified name = ‘public.r_persmobile’, comment = ‘table’); set add table
(id=17, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_personil’, comment = ‘table’); set add
table (id=18, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_polda’, comment = ‘table’); set
add table (id=19, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_prior’, comment = ‘table’);
set add table (id=2, set id=1, origin = @PRIMARY, fully qualified name = ‘public.r_statmobile’, comment =
‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully qualified name = ‘public.sms_in’, comment
= ‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully qualified name = ‘public.sms_out’,
comment = ‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully qualified name =
‘public.sys_gmodul’, comment = ‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully qualified
name = ‘public.sys_grup’, comment = ‘table’); set add table (id=2, set id=1, origin = @PRIMARY, fully
qualified name = ‘public.sys_modul’, comment = ‘table’); set add table (id=2, set id=1, origin =
@PRIMARY, fully qualified name = ‘public.sys_user’, comment = ‘table’);

set add sequence (id=1, set id=1, origin = @PRIMARY, fully qualified name =
‘schema.geo_laponline_gid_seq’, comment = ‘seq’); set add sequence (id=2, set id=1, origin = @PRIMARY,
fully qualified name = ‘schema.lap_data_id_seq, comment = ’seq’); set add sequence (id=3, set id=1, origin
= @PRIMARY, fully qualified name = ‘schema.lap_online_id_lap_seq, comment = ’seq’); set add sequence
(id=4, set id=1, origin = @PRIMARY, fully qualified name = ‘schema.sms_in_id_seq, comment = ’seq’); set
add sequence (id=5, set id=1, origin = @PRIMARY, fully qualified name = ‘schema.sms_out_id_seq,
comment = ’seq’);

subscribe set (id = 1, provider = @PRIMARY, receiver = @SLAVE);


1. Kalau-kalau perlu nge-drop skema replikasi yang sudah ada:

DROP SCHEMA _cname CASCADE; ==> cname ( + nama kluster)

1. Jalankan slon daemon

slon cname “dbname=template_postgis host=slonmaster user=postgres”

==> cname: nama kluster

You might also like