PDA

Bekijk Volledige Versie : Backuppen Postgresql



baseh
21/09/10, 12:48
Beste Wht'ers,

Tijdje terug ook al topic over gehad, maar nog niet echt vorderingen erin.

We hebben een behoorlijk grote Postgresql database (30GB). En die willen we elk half uur exporteren, met een retentie van een dag of 30.

Nu is dit met mysql geen probleem, alleen postgresql blijft het moeilijk, aangezien er standaard niks van replica's inzit.

Ook is het volgens mij ook haast niet te doen elke 30 minuten een volledige export te doen.

Nu was ik benieuwd of er niet een optie in postgresql zit, die alleen de wijzigingen elk half uur naar sql kan exporteren?

Of heeft iemand betere opties, voor het backuppen van een postgresql server. Heb nog niet echt een HA oplossing voor postgresql kunnen vinden.

Boyke
21/09/10, 15:37
Kijk eens naar pgcluster, soort van rsync maar dan voor postgres databases.

Zie: http://pgcluster.projects.postgresql.org/feature.html

maxnet
21/09/10, 22:14
Nu is dit met mysql geen probleem, alleen postgresql blijft het moeilijk, aangezien er standaard niks van replica's inzit.


Sinds gister wel. :-)
http://www.postgresql.org/about/news.1235

"Streaming replication"




Nu was ik benieuwd of er niet een optie in postgresql zit, die alleen de wijzigingen elk half uur naar sql kan exporteren?


Weet niet of er een simpel tooltje is die ze in SQL omzet, maar wijzigingen staan in binair formaat in je write ahead log.
Er is ergens een optie waarmee je kan zorgen dat de oude WAL bestanden niet overschreven worden, indien je alle wijzigingen wilt bewaren.

Randy
21/09/10, 23:45
De enige optie is om dit op een of twee slaves te doen, afhankelijk van de doorlooptijd. Postgres 8.x ondersteund echter geen replication (Yes, sinds gisteren 9.0 uitgekomen is wel) dus zul je of moeten upgraden (eng, nieuwe versie, kinderziektes), of meerdere servers moeten uitrollen en de taak op slaves moeten uitvoeren. DRDB kan je helpen bij een slave, anders kom je op een Cluster filesysteem. En met de laatste heb ik weinig (goede) ervaringen.

Blijven enkel 3th party opties over. Met geen van allen heb ik ervaring. Wellicht een tussenoplossing is een SQL dump maken in txt-formaat, de laatste regel greppen en vanaf dit ID verder gaan. Dit kan echter alleen wanneer je geen replace-functies gebruikt in de database, maar bijvoorbeeld alleen inserts. Ik ken je applicatie niet, maar wellicht zijn er op dit vlak mogelijkheden?

Database
28/02/11, 17:15
WAL archiving bestaat al jaren, dat lijkt mij in bovenstaand verhaal een passende oplossing. In versie 8.4 kun je dit ook gebruiken voor een HOT standby server, met versie 9.0 kun je dit gebruiken voor replicatie. Het principe is al vele jaren hetzelfde.