Unix Technical Forum

Slony1-1.1.0: UNSUBSCRIBE SET and SUBSCRIBE SET

This is a discussion on Slony1-1.1.0: UNSUBSCRIBE SET and SUBSCRIBE SET within the pgsql Admins forums, part of the PostgreSQL category; --> Hi, I have a master database and a slave database replicated with Slony. The config of the cluster: --- ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Admins

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-10-2008, 05:17 AM
Aldor
 
Posts: n/a
Default Slony1-1.1.0: UNSUBSCRIBE SET and SUBSCRIBE SET

Hi,

I have a master database and a slave database replicated with Slony.

The config of the cluster:

--- CONFIG START ---

cluster name = $CLUSTERNAME;

node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
port=$MASTERPORT user=$REPLICATIONUSER password=$MASTERPASS';
node 2 admin conninfo = 'dbname=$SLAVE1DBNAME host=$SLAVE1HOST
port=$SLAVE1PORT user=$REPLICATIONUSER password=$SLAVE1PASS';

init cluster ( id=1, comment = $CLUSTERNAME);

create set (id=1, origin=1, comment=$CLUSTERTABLE1);
set add table (set id=1, origin=1, id=1, fully qualified name =
'public.[table]', comment=$CLUSTERTABLE1);

--- CONFIG END ---

For the master table I use for starting the replication:

slon $CLUSTERNAME "dbname=$MASTERDBNAME user=$REPLICATIONUSER
host=$MASTERHOST port=$MASTERPORT password=$MASTERPASS"

For the slave table I use for starting the replication:

slon $CLUSTERNAME "dbname=$SLAVE1DBNAME user=$REPLICATIONUSER
host=$SLAVE1HOST port=$SLAVE1PORT password=$SLAVE1PASS"


Then I have a script which starts the replication:

--- SCRIPT START ---

cluster name = $CLUSTERNAME;

node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
port=$MASTERPORT user=$REPLICATIONUSER password=$MASTERPASS';
node 2 admin conninfo = 'dbname=$SLAVE1DBNAME host=$SLAVE1HOST
port=$SLAVE1PORT user=$REPLICATIONUSER password=$SLAVE1PASS';

subscribe set ( id = 1, provider = 1, receiver = 2, forward = no);

--- SCRIPT STOP ---

When I have to do any maintenance work on the table, I do them on the
master database. Before starting maintenance work on the data of that
table I pause the replication of this set by:

--- SCRIPT START ---

cluster name = $CLUSTERNAME;

node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
port=$MASTERPORT user=$REPLICATIONUSER password=$MASTERPASS';
node 2 admin conninfo = 'dbname=$SLAVE1DBNAME host=$SLAVE1HOST
port=$SLAVE1PORT user=$REPLICATIONUSER password=$SLAVE1PASS';

unsubscribe set ( id = 1, receiver = 2);

--- SCRIPT STOP ---

When I have finished the maintenance work on the data of that table I
start again replication by:

--- SCRIPT START ---

cluster name = $CLUSTERNAME;

node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST
port=$MASTERPORT user=$REPLICATIONUSER password=$MASTERPASS';
node 2 admin conninfo = 'dbname=$SLAVE1DBNAME host=$SLAVE1HOST
port=$SLAVE1PORT user=$REPLICATIONUSER password=$SLAVE1PASS';

subscribe set ( id = 1, provider = 1, receiver = 2, forward = no);

--- SCRIPT STOP ---

Usually the replication should only transfer the transactions which are
buffered, but instead of doing it - it does on the slave database:

select "[clustername]".truncateTable('"public"."[table]"'); copy
"public"."[table]" from stdin;

(noticed in pg_stat_activity)

I don't want that it truncates the whole table and then put in all data
again by COPY, I want that it only performs the buffered transactions
which were made in the meantime on the master database.

What do I have to do to get this type of behavior?

Thanks,

Aldor

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 12:52 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com