[ MarkoBalkan @ 12.03.2009. 13:40 ] @
dali netko radio ovo?
pošto do sada nije bilo podržano, ali moguće je napraviti kroz dodatne alate!

http://www.postgresql.org/download/products/3



jedan od besplatnih alata(pluginsa).
http://slony.info/
[ termo4 @ 23.04.2009. 11:06 ] @
Kada se radi replikaciji/sinhronizaciji postgreSQL baze na Linux izbor software-a je nesto bolji. Za windows-e izbor je daleko skromniji.

Ja koristim ovaj software:

http://symmetricds.codehaus.org/index.html


Ne kazem da nema i boljih, ali za ono sto meni treba ovaj je sasvim OK. Radi se o master-master sinhronizaciji koja koristi web tehniku za komunikaciju i prenos podataka. Ono zbog cega sam se odlucio za njega a ne za, recimo DBReplicator, Daffodil Replicator ili neki drugi jest izutetno mali bandwidth koji je potreban za prenos podataka.

Nazalost, niko nije savrsen. Ovaj software, kao ni mnogi drugi ne podrzava jednu vrlo bitnu stvar: sequence postgreSQL-a tako da se, ako se unos vrsi na vise lokacija u iste tabele, sequence mora malo drugacije postaviti.

Razvoj programa je u toku a i forum je vrlo aktivan. Trenutno je aktuelna verzija 1.6

Vise o tome na njihovoj stranici, ali za eventualna pitanja stojim na raspolaganju

Poz
Djordje
[ MarkoBalkan @ 01.10.2009. 17:50 ] @
meni treba i master-slave, kako?

ima slony, ima bucardo i drugi, gledam u dokumentaciji i problem je u tome što ne rade više ako se prekine mreža ili rikne server.

bucardo je ustvari perl skripta.





[ termo4 @ 30.10.2009. 08:27 ] @
Najprije izvinjenje zbog kasnjenja sa odgovorom. Neko vrijeme nisam posjecivao ovaj forum, pa ne znam da li je odabir obavljan. Ali svejedno zbog drugih clanova:

I ja sam bio u dilemi prilikom izbora. Cak su bile i opcije da se kupi komercijalni sw za replikaciju, ali je uvijek bilo nesto sto bi mu nedostajalo....

Da li ce replikacija Symmetric-om raditi u modu master-slave ili master-master sami odredjujemo prilikom konfigurisanja. Svaki server prilikom pokretanja ove aplikacije podize svoj mali web server koji radi u pozadini. Po meni, daleko ga je lakse konfigurisati za iste poslove nego na pr. Slony.

Prilikom konfigurisanja recimo master servera, formiraju se symmetric tabele u koje se zapisuju konfiguracioni podaci i podaci za replikaciju. Svaka tabela baze dobiva po 3 trigera: po jedan za INSERT, DELETE i UPDATE. Clienti odnosno slave serveri (koje smo mi odredili da budu) se registruju na master serveru jednostavnom procedurom koja se okrece na master-u. Nakon registracije preuzimaju konfiguraciju triggera kao i ostale podatke iz konfiguracionih tabela.

Svi entiteti Symmetrica su nakon toga dio nase baze. Kada se baza podigne sve je spremno za prihvat izmjena. Ono sto je bitno jest da se svaka izmjena u bazi vrijedno zapisuje u Symmetric tabele tako da nema opasnosti da se podaci izgube ukoliko dodje do prekida kominikacije izmedju servera iz bilo kojeg razloga. nakon uspostave veze, zapocinje i prijenos podataka. To je jedna od vrlina ove aplikacije.

Sve ovo i puno vise ima u dokumentaciji symmetric-a. Mozda nema opisa bas svih situacija, sto i ne treba ocekivati, ali tu mogu pomoci ljudi na njihovom forumu i mozemo pomoci i mi na ovom forumu.

Ima li mana? Naravno da ima!

Aplikacija je radjena da podrzi sto vise razlicitih baza podataka, pa i replikaciju izmedju razlicitih baza. Sa aspekta PostgreSQL, a govoreci na osnovu mog iskustva, najveca je mana sto NE POSTOJI replikacija:

- sequenci (mislim da niti druge "jace" aplikacije to ne podrzavaju)
- izmjena u šemi (tabela, funkcija, triggera ...)
- ....

Ako se radi o master-slave replikaciji nepostojanje replikacije sequenci nije strasno. Ali u master-master modu se moramo sluziti trikovima: recimo dodijeliti razlicite "scopove" sequenci razlicitim lokacijama .... dok izmjene u semi, ja ih tako radim, obavljam rucno (radi se o Windows serverima, VPN i RD, daljinski).

Ako se odlucis za ovaj sistem, ne mogu obecati da ce odgovor svaki put biti promptan, ali cu pokusati odgovoriti kakvo je moje iskustvo.

Kod mene je ovaj sistem u upotrebi vise od godine dana na 3 servera: 1 master i 2 clienta, ali se replikacija podesena tako da se podaci izmjenjeni na jednom klijentu repliciraju na master, a onda ih master replicira na drugi client. Ili cliente. Mislim da nema ogranicenja u broju. Neki ljudi rade sa 500 clienata.

Ocekuje se uskoro i verzija 2.0 koja ce donijeti dosta poboljsanja. Medjutim, ljudi jos rade sa verzijom 1.3, kod mene je 1.6 i sve radi kako treba.

Ne znam da li ce ovo pomoci u izboru. Ako se odlucis za ovo, stojim na raspolaganu.

Poz
Djordje
[ MarkoBalkan @ 01.12.2009. 19:02 ] @
a kako onda rješavaš multi-master replikaciju sequence-i?

ako imaš nekoliko desetaka servera može se napisati skripta u koju se dodaju svi serveri i update-a se baza na svakom serveru.

recimo neka perl skripta.

mene interesira ovo prvo.
[ termo4 @ 02.12.2009. 08:07 ] @
U mom prethodnom postu je dio odgovora na tvoje pitanje vezano za sekvence. Dakle, probleme sa sekvencama rješavam tako što dodijelim svakom serveru poseban raspon sequenci. Na primjer server1 od 1-1.000.000, server2 1.000.001-2.000.000 itd. Ja radim trenutno sa 4 servera u master-master semi.

Rješenje jest primitivno i za moje potrebe je sasvim dovoljno (recimo da imam trenutno oko 200.000 slogova u jednoj tabeli, a procjena je da ih nece biti vise od 400.000). Vjerujem da postoji više daleko elegantnijih rješenja, ali mi je ovo bilo nekako najbrze.

To sa perlom scriptom ne mogu komentarisati, jer ne znam. Vjerovatno moze ali valja voditi racuna da se mora ostvartit konekcija na svaki server posebno da bi se update-irala sekvenca u tabeli. A onda, s druge strane, tu skriptu treba sinhronizirati da se inkrementira na Insert iz Symmetrics-a. Vjerujem da nije nerjesivo ali meni izgleda preambiciozno, pa sam zato i primjenio ovo primitivnije rješenje ...

Ne vjerujem da je ovo nesto od pomoci, ali to je moje dvogodisnje iskustvo.

Poz
[ Thetaworld @ 03.02.2010. 13:48 ] @
Pogledaj:
http://developer.postgresql.org/pgdocs/postgres/release-8.5.html

Allow read-only connections during recovery, also known as Hot Standby. This provides a built-in master-slave replication solution.

[ MarkoBalkan @ 08.02.2010. 10:51 ] @
negdje sam vidio na nekom blogu da za verziju 9.0 planiraju ubaciti mogućnost replikacije u core.
[ after @ 17.08.2011. 20:51 ] @
Pozdrav svima,

Da li je neko imao iskustva sa postgresql replikacijom koristeci pgpool-II (http://pgpool.projects.postgresql.org/). Podigao sam pgpool i postavio replikaciju izmedju dva servera i cini mi se da je ok resenje uz to i podrzava full Disaster recovery u poredjenju sa slony-ijem. E sada ne znam sta se krije ispod haube, koliko je stabilan i pouzdan u poredjenju sa slony i drugim resenjima. Sama logika pgpool-a me podseca na MySQL Proxy.