| 

.NET C# Java Javascript Exception

0
Im pgadmin bietet Postgres einem mehrere Backupformate an. Welches sollte man am besten nehmen?
News:
07.09.2009
AoaR 11 2 2
Wie groß ist denn deine Datenbank?
Scout 07.09.2009
2 Antworten
1
Doe Frage lässt sich nicht so einfach beantworten. Alle Formate haben Ihre Vorteile.

Das plain-Format erzeugt ein SQL-Skript, das anschließend mit psql einfach wieder importiert werden kann. Insbesondere manuelle Nachbearbeitung mit einem Texteditor sind bei diesem Format sehr leicht möglich. Einwänden, dass diese Dateien sehr groß werden können, begegne ich gerne mit dem Hinweis auf die Existenz von gzip:

pg_dump DATENBANK | gzip > dbdump.sql.gz

Binäre Daten sind kein Problem, sie werden entsprechend kodiert, allerdings werden im plain-Format keine Large Objects exportiert.

Die beiden anderen Formate (custom und tar) können auch Large Objects exportieren (je nach Optionskombination muss dafür die Option -b verwendet werden). Zusätzlich haben sie noch den Vorteil, dass Erzeugen oder Leeren der Datenbank vor dem Import erst beim Import festgelegt werden muss.

Das custom-Format komprimiert den Dump automatisch, wenn es mit den richtigen Bibliothemen übersetzt wurde, daher wird es auch manchmal compress genannt. Es hat den Vorteil, dass mit Hilfe von pg_restore Tabellen auch einzeln wieder hergestellt werden können.

Das tar-Format hat eine Größenbeschränkung von 8GB für die textuelle Darstellung einer Tabelle. Bei großen Tabellen kann das zu Problemen führen. Mir ist keine Situation bekannt, in der das tar-Format einen Vorteil gegenüber dem custom-Format hätte, daher verwende ich es nie.

Fazit: Für Datensicherungszwecke ist wohl das custom-Format das geeignetste, weil damit auch selektive Rücksicherung möglich ist. Für die Weiterbearbeitung ist eher das plain-Format geeignet, weil es mit einem normalen Texteditor bearbeitbar ist. Bei Langzeitarchivierung kann auch die Archivierung mit beiden Formaten in Frage kommen: Das custom-Format liefert die Flexibilität und das plain-Format die Möglichkeit, die Daten auch noch auszuwerten, wenn kein Zugriff mehr auf eine geeignete PostgreSQL-Version besteht.

Noch eine Anmerkung zu pg_dump: Generell werden mit pg_dump keine OIDs exportiert (es ist auch schon seit langem empfohlen, diese nicht mehr zu verwenden). Wenn man entgegen der Empfehlung die OIDs doch verwendet, hilft die Option -o.
08.09.2009
Churke 201 1 2
0
PgAdmin bietet dir 3 Formate an (compress, tar und plain)
compress: heißt die Daten in den Tabellen werden komprimiert, allerdings nicht die gesammte Datei komprimiert
tar: heißt es wird versucht die gesamte Datei zu komprimieren, inklusive create usw.
plain: heißt die Daten werden unkomprimiert in einer Datei gespeichert

Ich persönlich bevorzuge "plain", weil erstens die Backups meist ehh nicht größer als 5 GB werden und zweitens ich mir die Datenen ansehen kann, von denn ich ein Backup gezogen habe.

Grüßle
07.09.2009
Scout 1,4k 2 8
Scout 1,4k 2 8
Sind diese Backups denn in jedem Fall vollständig? Es sind ja immerhin SQL-Skripte und nicht etwa die binären Dateien auf der Festplatte. Da könnte es Unterschiede geben.
AoaR 07.09.2009
Das kommt ganz darauf an, an welcher Stelle du ein Backup "beauftragst". Klickst du auf die Datenbank und gehst dann auf Backup, wird die gesammte Datenbank gesichert. Klickst du hingegen nur auf eine Tabelle und dann auf Backup, wird nur die Tabelle gesichert. Evtl. Funktionen, Aggregate usw. werden dabei nicht gesichert. Was genau willst du tun?
Scout 08.09.2009

Stelle deine Datenbank-Frage jetzt!