Benutzer-Werkzeuge


Sidebar

ASV-Webseite

Dokumentation

Hilfe



Druck/Export

Drucken/PDF erzeugen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
alle:technik:backup:cmd [15.11.2018 10:04] – [Backup und Restore an der Kommandozeile (Windows) bzw. der Shell (Linux)] florian.langeneckeralle:technik:backup:cmd [04.11.2021 13:54] (aktuell) – [Backup der Datenbank] mauker
Zeile 7: Zeile 7:
 <wrap tip>Sie können die Exe-Datei auch aus einem Explorerfenster in das Fenster der Eingabeaufforderung ziehen, so vermeiden Sie Tippfehler und die bei Leerzeichen nötigen Anführungszeichen werden automatisch gesetzt.</wrap> <wrap tip>Sie können die Exe-Datei auch aus einem Explorerfenster in das Fenster der Eingabeaufforderung ziehen, so vermeiden Sie Tippfehler und die bei Leerzeichen nötigen Anführungszeichen werden automatisch gesetzt.</wrap>
 ==== Backup der Datenbank  ==== ==== Backup der Datenbank  ====
-  c:\Programme\PostgreSQL\9.2\bin\pg_dump.exe -U asv -Fc -f 2013-07-15_asv.backup asv+  c:\Programme\PostgreSQL\10\bin\pg_dump.exe -U asv -Fc --schema=asv --blobs -f 2021-07-15_asv.backup asv
 Erläuterung: Erläuterung:
   * ''pg_dump.exe'' ist das von postgreSQL mitgebrachte Tool zum Sichern von Datenbanken   * ''pg_dump.exe'' ist das von postgreSQL mitgebrachte Tool zum Sichern von Datenbanken
   * ''-U asv'': Aktion als Datenbankbenutzer //asv// durchführen   * ''-U asv'': Aktion als Datenbankbenutzer //asv// durchführen
   * ''-Fc'': Komprimiertes Format für die Datensicherung auswählen (c = compressed)   * ''-Fc'': Komprimiertes Format für die Datensicherung auswählen (c = compressed)
 +  * ''--schema=asv'': Nur die Datenbankobjekte im Schema ''asv'' werden gesichert.
 +  * ''--blobs'': Die BLOBs sind nicht im Schema ''asv'' und müssen deshalb extra inkludiert werden.
   * ''-f <Dateiname>'' Ausgabe in Datei (f = file)   * ''-f <Dateiname>'' Ausgabe in Datei (f = file)
   * ''asv'' Datenbank, die gesichert wird   * ''asv'' Datenbank, die gesichert wird
  
-Bei der Ausführung des Befehls fragt pg_dump nach dem Passwort des Datenbankbenutzers asv. Um einen solchen Aufruf in eine Backup-Skript zu übernehmen, ist es nötig, dieses Passwort zu hinterlegen. Legen Sie hierzu im Verzeichnis %APPDATA%\postgresql (%APPDATA% ist das Application Data Unterverzeichnis im Userprofil) des Windows-Benutzers, der das Backup durchführt die Datei pgpass.conf an.+Bei der Ausführung des Befehls fragt ''pg_dump'' nach dem Passwort des Datenbankbenutzers ''asv'' 
 +Um einen solchen Aufruf in eine Backup-Skript zu übernehmen, ist es nötig, dieses Passwort zu hinterlegen.  
 +Legen Sie hierzu im Verzeichnis %APPDATA%\postgresql (%APPDATA% ist das Application Data Unterverzeichnis im Userprofil)  
 +des Windows-Benutzers, der das Backup durchführt die Datei pgpass.conf an.
  
 Die Datei pgpass.conf hat den folgenden Inhalt: Die Datei pgpass.conf hat den folgenden Inhalt:
Zeile 26: Zeile 31:
 pg_dump wertet diese Datei automatisch aus und übernimmt das Passwort. pg_dump wertet diese Datei automatisch aus und übernimmt das Passwort.
  
-(Siehe auch: http://www.postgresql.org/docs/9.2/static/libpq-pgpass.html)+(Siehe auch: http://www.postgresql.org/docs/10/static/libpq-pgpass.html) 
 ==== Restore der Datenbank  ==== ==== Restore der Datenbank  ====
-  c:\Programme\PostgreSQL\9.2\bin\pg_restore.exe -d asv -U asv -c 2013-07-15_asv.backup+  c:\Programme\PostgreSQL\10\bin\psql.exe -c 'DROP SCHEMA asv CASCADE;' -c 'CREATE SCHEMA asv AUTHORIZATION asv;' asv asv 
 + Erläuterung: 
 +  * ''psql.exe'' ist das von postgreSQL mitgebrachte Tool zum Ausführen von SQL-Befehlen in einer Datenbank 
 +  * ''-c ...'': SQL-Befehl, der ausgeführt werden soll 
 +  * ''asv'': Datenbank, in der der Befehl ausgeführt werden soll 
 +  * ''asv'': Datenbankbenutzer, mit dem der Befehl ausgeführt werden soll 
 + 
 +Damit sind alle ASV-spezifischen Daten in der Datenbank gelöscht. 
 +Das Schema selbst ist aber wieder angelegt. 
 + 
 +  c:\Programme\PostgreSQL\10\bin\pg_restore.exe -d asv -U asv --schema=asv 2021-07-15_asv.backup
  Erläuterung:  Erläuterung:
   * ''pg_restore.exe'' ist das von postgreSQL mitgebrachte Tool zum Wiederherstellen von Datenbanken   * ''pg_restore.exe'' ist das von postgreSQL mitgebrachte Tool zum Wiederherstellen von Datenbanken
   * ''-d asv'':  Wiederherstellung in die Datenbank asv (d = database)   * ''-d asv'':  Wiederherstellung in die Datenbank asv (d = database)
   * ''-U asv'': Aktion als Datenbankbenutzer //asv// durchführen   * ''-U asv'': Aktion als Datenbankbenutzer //asv// durchführen
-  * ''-'': Datenbankobjekte vor dem Wiederherstellen löschen+  * ''--schema=asv'': Nur die Objekte und Daten im Schema ''asv'' innerhalb der Datenbank ''asv'' wiederherstellen
   * ''<dateiname>'': aus dieser Datei wiederherstellen   * ''<dateiname>'': aus dieser Datei wiederherstellen
  
 ==== Löschen der Datenbank ==== ==== Löschen der Datenbank ====
 <wrap important> **Vorsicht!** Der folgende Befehl löscht Ihre ASV-Datenbank. Damit sind Ihre Daten unwiederbringlich verloren. **Haben Sie ein Backup gemacht?**</wrap> <wrap important> **Vorsicht!** Der folgende Befehl löscht Ihre ASV-Datenbank. Damit sind Ihre Daten unwiederbringlich verloren. **Haben Sie ein Backup gemacht?**</wrap>
-  c:\Programme\PostgreSQL\9.2\bin\dropdb.exe -U postgres asv+  c:\Programme\PostgreSQL\10\bin\dropdb.exe -U postgres asv
      
 ==== Löschen des Datenbankbenutzers ==== ==== Löschen des Datenbankbenutzers ====
-<wrap important> **Vorsicht! Der folgende Befehl löscht Ihre ASV-Benutzer. dies sollten Sie nur machen, wenn Sie vorhaben, eine Komplettinstallation der ASV durchzuführen!**</wrap> +<wrap important> **Vorsicht! Der folgende Befehl löscht Ihren ASV-Datenbank-Benutzer. Dies sollten Sie nur machen, wenn Sie vorhaben, eine Neuinstallation der ASV durchzuführen!**</wrap> 
-  c:\Programme\PostgreSQL\9.2\bin\dropuser.exe -i -U postgres asv+  c:\Programme\PostgreSQL\10\bin\dropuser.exe -i -U postgres asv
      
  
Zeile 48: Zeile 64:
 Zur Syntax der verwendeten Befehle rufen Sie ''pg_dump %%--%%help'' bzw. ''pg_restore %%--%%help'' oder die zugehörigen man-pages auf. Zur Syntax der verwendeten Befehle rufen Sie ''pg_dump %%--%%help'' bzw. ''pg_restore %%--%%help'' oder die zugehörigen man-pages auf.
 ==== Backup der Datenbank ==== ==== Backup der Datenbank ====
-Komprimiertes Backup der Datenbank erzeugen (als root):\\ ''pg_dump -h localhost -U asv -Fc -f <backup-name>.backup asv''\\ Ein so erzeugtes Backup ist nachher auch mit pgAdmin wieder zurückspielbar (in diesem Fall ist die Dateiendung wichtig)+Komprimiertes Backup der Datenbank erzeugen: 
 + 
 +  pg_dump -h localhost -U asv -Fc --schema=asv --blobs -f <backup-name>.backup asv 
 + 
 +Ein so erzeugtes Backup ist nachher auch mit pgAdmin wieder zurückspielbar (in diesem Fall ist die Dateiendung wichtig) 
 + 
 +Unkomprimierten Dump der Datenbank erzeugen (als root): 
 + 
 +  pg_dump -h localhost -U asv --schema=asv --blobs -f <dump-name>.sql asv
  
-Unkomprimierten Dump der Datenbank erzeugen (als root):\\ +Der so erzeugte Dump ist eine lesbare Textdatei, die SQL-Statements und die Daten enthält. Dieser ist **nicht** mit pgAdmin, sondern nur mit der unten genannten Methode wieder einspielbar.
-''pg_dump -h localhost -U asv -f <dump-name>.sql asv''\\ +
-Der so erzeugte Dump ist eine lesbare Textdatei, die SQL-Statements und die Daten enhält. Dieser ist **nicht** mit pgAdmin, sondern nur mit der unten genannten Methode wieder einspielbar.+
  
 ==== Restore der Datenbank ==== ==== Restore der Datenbank ====
-Restore aus einem komprimierten Backup:\\ ''pg_restore -h localhost -d asv -U asv -<backup-name>.backup''+Restore aus einem komprimierten Backup: 
 +  psql -c 'DROP SCHEMA asv CASCADE;-c 'CREATE SCHEMA asv AUTHORIZATION asv;' asv asv 
 +  pg_restore -h localhost -d asv -U asv --schema=asv <backup-name>.backup
  
 Restore aus einem unkomprimierten Dump: Restore aus einem unkomprimierten Dump:
-  - Folgende Befehle als user postgres ausführen: ''root@asv-server:/tmp# su postgres'+  psql -'DROP SCHEMA asv CASCADE;' -'CREATE SCHEMA asv AUTHORIZATION asv;' asv asv 
-  Gegebenenfalls vorhandenden Datenbank löschen: ''postgres@asv-server:/tmp$ dropdb asv'+  psql -f <postgres_dump>.sql asv
-  - Leere Datenbank mit Datenbankbenutzer asv neu anlegen: ''postgres@asv-server:/tmp$ createdb -h localhost -U asv -O asv asv'' +
-  - Datenbank aus Dump füllen: ''postgres@asv-server:/tmp$ psql -d asv -f <postgres_dump>.sql'' +
-  - Wieder root werden: ''postgres@asv-server:/tmp$ exit''+
  
  
 ==== Löschen der Datenbank ==== ==== Löschen der Datenbank ====
 <wrap important> **Vorsicht!** Der folgende Befehl löscht Ihre ASV-Datenbank. Damit sind Ihre Daten unwiederbringlich verloren. **Haben Sie ein Backup gemacht?**</wrap> <wrap important> **Vorsicht!** Der folgende Befehl löscht Ihre ASV-Datenbank. Damit sind Ihre Daten unwiederbringlich verloren. **Haben Sie ein Backup gemacht?**</wrap>
-  dropdb -h localhost  -U asv asv+  dropdb -h localhost -U asv asv
      
 ==== Löschen des Datenbankbenutzers ==== ==== Löschen des Datenbankbenutzers ====
-<wrap important> **Vorsicht! Der folgende Befehl löscht Ihre ASV-Benutzer. Diesen sollten Sie nur dann löschen, wenn Sie vorhaben, eine Komplettinstallation der ASV durchzuführen!**</wrap>+<wrap important> **Vorsicht! Der folgende Befehl löscht Ihren ASV-Datenbank-Benutzer. Diesen sollten Sie nur dann löschen, wenn Sie vorhaben, eine Neuinstallation der ASV durchzuführen!**</wrap>
   dropuser -h localhost  -i -U postgres asv   dropuser -h localhost  -i -U postgres asv