Erinevus lehekülje "Londiste" redaktsioonide vahel
(Uus lehekülg: '===Londiste kasutamine=== Londiste http://wiki.postgresql.org/wiki/Londiste_Tutorial on asünkroonne master/slave-tüüpi andmete replitseerimislahendus. Londiste tarkvara sisaldub…') |
|||
| 1. rida: | 1. rida: | ||
| + | ===Sissejuhatus=== | ||
| + | |||
| + | Londiste http://wiki.postgresql.org/wiki/Londiste_Tutorial on asünkroonne master/slave-tüüpi andmete replitseerimislahendus. Londiste tarkvara sisaldub Skytools komplektis ühe rakendusena. | ||
| + | |||
| + | ===Tööpõhimõte=== | ||
| + | |||
| + | TODO | ||
| + | |||
| + | ===Londiste paigaldamine=== | ||
| + | |||
| + | Londiste paigaldamiseks Debian Squeeze keskkonnas sobib öelda | ||
| + | |||
| + | # apt-get install skytools | ||
| + | |||
| + | ===Londiste seadistamine=== | ||
| + | |||
| + | TODO | ||
| + | |||
===Londiste kasutamine=== | ===Londiste kasutamine=== | ||
| − | + | TODO | |
* ticker.ini | * ticker.ini | ||
Redaktsioon: 13. aprill 2010, kell 21:18
Sisukord
Sissejuhatus
Londiste http://wiki.postgresql.org/wiki/Londiste_Tutorial on asünkroonne master/slave-tüüpi andmete replitseerimislahendus. Londiste tarkvara sisaldub Skytools komplektis ühe rakendusena.
Tööpõhimõte
TODO
Londiste paigaldamine
Londiste paigaldamiseks Debian Squeeze keskkonnas sobib öelda
# apt-get install skytools
Londiste seadistamine
TODO
Londiste kasutamine
TODO
- ticker.ini
- p-to-s.ini
Süsteemi peab olema paigaldatud pakett python-psycopg2
# apt-get install python-psycopg2
Londiste töötamise võiks kujutada sellise skeemiga
MASTER SLAVE
-----|---------------------------------------|-----
_|_ _|_
| | | |
|___| |___|
seadistusfail: ticker.ini p-to-s.ini
protsess: python pgqadm.py ticker.ini ticker -d python londiste.py p-to-s.ini replay -d
skeemid: pgq, londiste londiste
ticker.ini
Londiste kasutamiseks tuleb tekitada seadistusfail ticker.ini
$ cat /home/postgres/londiste/ticker.ini [pgqadm] job_name = myticker_name db = dbname=baasinimi host=10.0.13.170 user=postgres password=parool port=5432 # how often to run maintenance [seconds] maint_delay = 600 # how often to check for activity [seconds] loop_delay = 0.1 logfile = ~/londiste/log/%(job_name)s.log pidfile = ~/londiste/pid/%(job_name)s.pid
kusjuures ühendussõnet saab testida selliselt
$ python
...
>>> import psycopg2
>>> con = psycopg2.connect('dbname=baasinimi host=10.0.13.170 \
user=postgres password=parool port=5432')
>>> Ctrl-D
PGQ baasi osa paigaldamiseks tuleb seejärel öelda
$ mkdir /home/postgres/londiste/log $ mkdir /home/postgres/londiste/pid $ export PYTHONPATH=/usr/local/skytools/lib/python2.4/site-packages $ /usr/local/skytools/bin/pgqadm.py /home/postgres/londiste/ticker.ini install 2009-11-03 13:28:41,793 28491 INFO plpgsql is installed 2009-11-03 13:28:41,795 28491 INFO txid_current_snapshot is installed 2009-11-03 13:28:41,796 28491 INFO Installing pgq 2009-11-03 13:28:41,796 28491 INFO Reading from \ /usr/local/skytools/share/skytools/pgq.sql
Tulemusena tekib andmebaasi baasinimi skeem pgq.
Tickeri käivitamiseks tuleb öelda
$ /usr/local/skytools/bin/pgqadm.py /home/postgres/londiste/ticker.ini ticker -d
ja jääb käima vastav protsess.
p-to-s.ini seadistamine
$ cat p-to-s.ini [londiste] job_name = test_to_subcriber provider_db = dbname=portaal host=10.0.13.170 user=postgres \ password=parool port=5433 subscriber_db = dbname=portaal host=10.0.13.177 user=postgres \ password=parool port=5432 # it will be used as sql ident so no dots/spaces pgq_queue_name = londiste.replica logfile = /home/postgres/londiste/log/%(job_name)s.log pidfile = /home/postgres/londiste/pid/%(job_name)s.pid
Logiserverist öelda
$ londiste.py p-to-s.ini provider install $ londiste.py p-to-s.ini subscriber install
ning käivitada deemon
$ londiste.py p-to-s.ini replay -d
Andmete replitseerimiseks tuleb logiserverisse moodustada vastavad tableid ning seejärel öelda logiserverist
$ londiste.py p-to-s.ini provider add public.T1 public.T2 $ londiste.py p-to-s.ini subscriber add public.T1 public.T2
Subscriberi eemaldamiseks sobib öelda
$ londiste.py p-to-s.ini subscriber remove skeeminimi.tabelinimi
Staatust saab küsida
$ londiste.py p-to-s.ini subscriber tables Table State skeeminimi.tabelinimi in-copy