System/PostgreSQL/Londiste

From LunaSys
Jump to navigation Jump to search

Londiste 3

In the following example, the provider will be called host1.lunasys.fr and the subscriber will be host2.lunasys.fr. The database used is repl and the table test.

All the following commands have to be executed as user postgres.

Provider

Create the folders /var/log/londiste and /var/run/londiste, with user postgres as owner.

provider.ini:

[londiste3]
job_name = job_master

db = dbname=repl port=5432 host=host1.lunasys.fr

pgq_queue_name = londiste.replica

logfile = /var/log/londiste/%(job_name)s.log
pidfile = /var/run/londiste/%(job_name)s.pid

pgq.ini:

[pgqd]

job_name = mypgq

db = dbname=repl port=5432 host=localhost
maint_delay_min = 5

loop_delay = 0.1

logfile = /var/log/londiste/pgqd.log
pidfile = /var/run/londiste/pgqd.pid

use_skylog = 0

Initialize the provider (root node):

londiste3 provider.ini create-root node1 "dbname=repl host=host1.lunasys.fr port=5432"

Start the provider worker:

londiste3 -d provider.ini worker

Launch the PgQ daemon:

pgqd -d pgq.ini


Subscriber

Create the folders /var/log/londiste and /var/run/londiste, with user postgres as owner.

subscriber.ini:

[londiste3]
job_name = job_slave

db = dbname=repl port=5432 host=host2.lunasys.fr

pgq_queue_name = londiste.replica

logfile = /var/log/londiste/%(job_name)s.log
pidfile = /var/run/londiste/%(job_name)s.pid

Initialize the subscriber (leaf or branch node):

londiste3 subscriber.ini create-leaf node2 "dbname=repl host=host2.lunasys.fr port=5432" --provider="host=host1.lunasys.fr dbname=repl"

Start the subscriber worker:

londiste3 -d subscriber.ini worker

Adding tables

On both provider and subscriber(s), you need to create the table and add them for replication:

londiste3 provider.ini add-table test
londiste3 subscriber.ini add-table test

Status

On either the provider or a subscriber, you can get the current replication status with:

londiste3 <ini file> status