Dump/Export von NEUEN Daten

Gibt es eine Möglichkeit ein dump von Daten zu erstellen die nach einem gewissen Zeitpunkt erstellt wurden? Ich möchte gerne eine Datenbank exportieren und auf einem anderen Server importieren. Das dauert einige Stunden und daher würde ich gerne im Anschluss alle “neuen” Daten, die in der Zwischenzeit in die ursprüngliche Datenbank geschrieben wurden exportieren und diese ebenfalls auf dem anderen Server importieren. Für andere Ideen bin ich ebenfalls offen!

Wenn Du die via SELECT selekten kannst, kannst Du das auch via COPY rausblasen und dann so auf dem Ziel einlesen.

Oder handelt es sich um viele Tabellen?

Es handelt sich um viele Tabellen.

Das ist eher schlecht. Falls Du 9.4 hast könntest Du aber das ganz einfach via einem ‘logical replication slot’ machen, da fallen die gelaufenen SQL-Befehle für die DB raus.

http://michael.otacoo.com/postgresql-2/postgres-9-4-feature-highlight-basics-logical-decoding/


Ansonsten klingt das dann ja schon eher in Richtung richtige Replikation, oder?

Wie kannst Du denn die “neuen” Daten identifizieren? Gibt es da z.B. eine Timestamp Spalte die bei allen Tabellen gleich heißt?

Leider nicht bei allen Spalten, ich hatte eher gehofft, dass Postgres die zugehörigen Zeitstempel für kurze Zeit loggt o.ä. und durch eine entsprechende Funktion ein Import möglich wäre. Die ursprüngliche DB läuft auf Version 9.2, die neue auf 9.4. Ich versuche es mal mit dem ‘logical replication slot’. Vielen Dank für die Idee akretschmer!

also wir müssen auch von Oracle Daten inkrement nachführen in Postgres
machen das halt auch über ora2pg script (meistens heisst bei uns das Datumsfeld aber gleich)
aber sonst ist das hald einmaliger händischer aufwand