WalMgr kasutamine
Sissejuhatus
Ülidselt saab PostgreSQL andmebaasi tööle seada archive logs režiimis, mis tähendab, et kõik toimunud tegevused kirjutatakse eraldi spetsiaalses formaadis logifaili. Seda logifaili nimetatakse WAL (ingl. k. write ahead log) logiks. Lisaks, kui andmebaasile öelda
SQL> select start_backup('string');
siis viiakse andmebaas sellisesse seisu, et data clusterile vastav failisüsteem ei muutu ning sellest kataloogist võib teha failisüsteemi vahenditega, nt rsync abil koopia. Peale koopia tegemist tuleb öelda
SQL> select stop_backup();
Selliselt moodustatud data cluster failisüsteemi koopiat ja peale koopia tegemist moodustustunud WAL logisid saab kasutada mingile etteöeldud koopiajärgsele ajahetkele vastava andmebaasi oleku moodustamiseks.
Näiteks sobib see tehnika töötava andmebaasi kõrvale teise arvutisse andmebaasi mingi seisu moodustamiseks.
WalMgr utiliit võimadab on aga sellist asjakorraldust, et kaks PostgreSQLi andmebaasi eksemplari töötavad pidevalt sellises režiimis, et ühe andmebaasi (master - ingl. k. isand) logi loetakse sisse teise (slave - ingl. k. ori) andmebaasi. Nii töötavas skeemis on küll kahe andmebaasi sisu endam-vähem sama, kuid ei ole logide sisselugemise ajal teine andmebaas kasutatav. Siiski, selline asjakorraldus pakub järgmisi võimalusi
- suhteliselt hõlpsasti saab lülitada kasutajad ümber ühelt andmebaasi eksemplarilt teisele, nt esimese andmebaasi hoolduse ajaks
- peale WAL logidega tegelemise ei ole vaja andmebaasis teha mingisuguseid muudatusi, nt lisada tabelitele trigger'eid
WalMgr on Skype poolt valmistatud tarkvarakomplekti Skytools üks komponent, tarkvara kodulehekülg asub aadressil https://developer.skype.com/SkypeGarage/DbProjects/SkyTools/WalMgr.
WalMgr esineb Pyhtoni skripti kujul ja ta kasutab standarses PostgreSQL andmebaasis olemasolevaid omadusi lihtsustades kasutajal kahe eelkirjeldatud moel töötava PostgreSQLi eksemplari tööleseadmist ja kasutamist.
Kasutamine Debian Sidiga 2008 aasta suvel
WalMgr lahenduse katsetamiseks on üks hõlbus võimalus 2008 aasta suvel kasutada Debian Sid'i, seal on skytools pakett olemas, paigaldamiseks tuleb öelda
bash# apt-get install skytools
Skytools sisaldab lisaks walmgr'ile ka muid programme, kui käesoleva teksti seisukohast on oluline vaid walmgr
/usr/bin/walmgr /usr/share/doc/skytools/conf/wal-master.ini /usr/share/doc/skytools/conf/wal-slave.ini
WalMgr testiminse
WalMgr testimiseks sobib kasutada postgresqli andmebaasi contrib'ina jagatavad pgbench (http://developer.postgresql.org/pgdocs/postgres/pgbench.html) utiliiti, näiteks täites sedasi testiks moodustatud baasi
SQL> create database test;
bash$ /usr/local/postgresql/bin/pgbench -i -s 10 -h 192.168.10.144 -U postgres test2