Aktionen
110 Umzug einer Datenbank (pg dump backup) Schulungs Test System » Historie » Revision 13
« Zurück |
Revision 13/96
(diff)
| Weiter »
[E] Frank S, 16.01.2015 14:05
Umzug einer Datenbank (pg_dump & pg_dumpall)¶
Programme pg_dumpall und psql erreichbar unter ..\PostgreSQL\9.0\bin\
Dump erstellen:
pg_dump -U postgres --disable-triggers DB > db-dump-file.sql
bzw.pg_dumpall -h localhost -p 5432 -U postgres -w -c -f dumpall.sql -v --column-inserts --disable-triggers
- -h -p -U -w sind Verbindungsoptionen: Host, Post, Benutzer für den dump, ohne Passwort (weglassen falls Verbindung fehlschlägt und Passwort nötig ist)
- -c Clean-Option: Schreibt DROP commands für DBs, Roles, tablespaces, die wieder erzeugt werden sollen.
- -f Dateiname
- -v Verbose-Optione, erweiterte Ergebnis-Ausgabe
- --column-inserts Daten als
INSERT INTO table (colum1, column2, ...) VALUES (value1, value2, ...);
schreiben, sehr langsam, aber besser zur Fehlerbehebung. - --disable-triggers Trigger bei Wiederherstellung deaktivieren.
Wiederherstellen:
Konsole starten mit Adminrechten folgendes eingeben: chcp 1252
(Zeichensatzcodierung anpassen)psql -h localhost -p 5432 -d DBNAME -U postgres -f dumpall.sql -q -o dumplog.txt
- Verbindungsoptionen siehe oben (-o query results to file, für Fehler)
- Vollständiges oben erstelltes Skript wird ausgeführt. (zu erwartende Fehlermeldung: DROP USER postgres und CREATE USER postgres, ist ja unser ausführender Benutzer)
- Datenbank-Name muss angegeben werden, sonst wird in System-DB "postgres" geschrieben
- implicit casts werden nicht mit importiert: PSQL\Tables\_pg83-implicit-casts.sql muss mitgegeben werden.
- mit pg_dumpall die benutzer und rollen aus dem alten DB-Cluster übernehmen
- Befehl:
pg_dumpall -U postgres -r -f alt.roles.sql
- mit psql die Benutzer und Gruppen wieder importieren
Von [E] Frank S vor mehr als 10 Jahren aktualisiert · 13 Revisionen