Erreichen

Grow

Manage

Automate

Erreichen

Grow

Manage

Automate

Technische Tipps: Wie sichere und stelle ich die Postgres-Datenbank wieder her?

Karan Singh

19.06.2013

E-Mail

1 min read

Technische Tipps: Wie sichere und stelle ich die Postgres-Datenbank wieder her?

Karan Singh

19.06.2013

E-Mail

1 min read

Technische Tipps: Wie sichere und stelle ich die Postgres-Datenbank wieder her?

Dies ist ein ‚How-to‘-Dokument, das nur Beispielbefehle gibt; wie es tatsächlich gemacht wird, hängt ausschließlich von der Person ab, die es tut, und von den spezifischen Anwendungsfällen.

Zuerst ein Haftungsausschluss. Dieser Beitrag bietet eine allgemeine Anleitung zum Sichern einer Postgres-Datenbanktabelle. Die bereitgestellten Beispiele beziehen sich nicht auf eine bestimmte Tabelle oder Datenbank. Wenn Sie versuchen, eine bestimmte Tabelle zu sichern, sollten Sie auch Tabellen sichern, die auf die ursprünglichen Tabellen verweisen. Da Postgres eine relationale Datenbank ist, wird es immer Verweise zwischen mehreren Tabellen geben.




Dies ist ein 'Wie man'-Dokument, das nur Beispielbefehle gibt, wie es tatsächlich gemacht wird, hängt allein von der Person ab, die es durchführt, und von spezifischen Anwendungsfällen. Stellen Sie immer die Integrität der Daten sicher, die Sie sichern möchten. Die Sicherung der gesamten Datenbank ist immer eine sichere Option, aber bei der Sicherung bestimmter Tabellen muss man vorsichtig sein.

SQL-dump/pg_dump:

Die Idee hinter der SQL-Dump-Methode besteht darin, eine Textdatei mit SQL-Befehlen zu erstellen, die, wenn sie dem Server zurückgegeben werden, die Datenbank in demselben Zustand wiederherstellen, in dem sie sich zum Zeitpunkt des Dumps befand. PostgreSQL stellt das Dienstprogramm pg_dump für diesen Zweck bereit.




pg_dump ist ein effektives und umfassendes Werkzeug, um Backups von Postgres-Datenbanken zu erstellen und die Backups zu verwenden, um die Postgres-Datenbank wiederherzustellen. Es ist jedoch nicht auf die Datenbank beschränkt. Wir können pg_dump verwenden, um Tabellen zu sichern und dann zu nutzen, um einzelne Tabellen ebenfalls wiederherzustellen. Mit pg_dump können Sie die lokale Datenbank sichern und auf einer entfernten Datenbank wiederherstellen.

Wie man eine Postgres Database sichert:

Backup einer Postgres-Tabelle:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Der obige Befehl ist ein Beispiel dafür, wie man eine spezifische Tabelle aus einer Postgres-Datenbank sichert. Mit dem obigen Befehl sichern wir die Tabelle ‘orgs’ im Schema ‘maincontrol’ von der Datenbank ‘pe’ in die Datei ms_table.sql. Um eine spezifische Tabelle zu sichern, verwenden Sie die Option –table TABLENAME im pg_dump-Befehl. Wenn es gleiche Tabellennamen in verschiedenen Schemas gibt, verwenden Sie die Option –schema SCHEMANAME.

  1. Backup einer spezifischen Postgres-Datenbank:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dies ist ein Beispiel für das Sichern einer spezifischen Postgres-Datenbank. Mit dem obigen Befehl sichern wir die Datenbank für Message Central ‘pe’ in die Datei pe_dump.sql. Die Sicherungsdatei enthält create table, alter table und copy-Befehle für alle Tabellen in der ‘pe’-Datenbank.

  2. Backup aller Postgres-Datenbanken:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Sie können alle Datenbanken mit dem pg_dumpall-Befehl sichern. Der obige Befehl erstellt ein Dump aller Datenbanken, die auf der Postgres-Instanz auf einem bestimmten Server laufen. Um alle Datenbanken aufzulisten, die gesichert wurden, verwenden Sie den Befehl grep “^[\]connect” all.sql.

Backup einer Postgres-Tabelle:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Der obige Befehl ist ein Beispiel dafür, wie man eine spezifische Tabelle aus einer Postgres-Datenbank sichert. Mit dem obigen Befehl sichern wir die Tabelle ‘orgs’ im Schema ‘maincontrol’ von der Datenbank ‘pe’ in die Datei ms_table.sql. Um eine spezifische Tabelle zu sichern, verwenden Sie die Option –table TABLENAME im pg_dump-Befehl. Wenn es gleiche Tabellennamen in verschiedenen Schemas gibt, verwenden Sie die Option –schema SCHEMANAME.

  1. Backup einer spezifischen Postgres-Datenbank:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dies ist ein Beispiel für das Sichern einer spezifischen Postgres-Datenbank. Mit dem obigen Befehl sichern wir die Datenbank für Message Central ‘pe’ in die Datei pe_dump.sql. Die Sicherungsdatei enthält create table, alter table und copy-Befehle für alle Tabellen in der ‘pe’-Datenbank.

  2. Backup aller Postgres-Datenbanken:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Sie können alle Datenbanken mit dem pg_dumpall-Befehl sichern. Der obige Befehl erstellt ein Dump aller Datenbanken, die auf der Postgres-Instanz auf einem bestimmten Server laufen. Um alle Datenbanken aufzulisten, die gesichert wurden, verwenden Sie den Befehl grep “^[\]connect” all.sql.

Backup einer Postgres-Tabelle:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Der obige Befehl ist ein Beispiel dafür, wie man eine spezifische Tabelle aus einer Postgres-Datenbank sichert. Mit dem obigen Befehl sichern wir die Tabelle ‘orgs’ im Schema ‘maincontrol’ von der Datenbank ‘pe’ in die Datei ms_table.sql. Um eine spezifische Tabelle zu sichern, verwenden Sie die Option –table TABLENAME im pg_dump-Befehl. Wenn es gleiche Tabellennamen in verschiedenen Schemas gibt, verwenden Sie die Option –schema SCHEMANAME.

  1. Backup einer spezifischen Postgres-Datenbank:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dies ist ein Beispiel für das Sichern einer spezifischen Postgres-Datenbank. Mit dem obigen Befehl sichern wir die Datenbank für Message Central ‘pe’ in die Datei pe_dump.sql. Die Sicherungsdatei enthält create table, alter table und copy-Befehle für alle Tabellen in der ‘pe’-Datenbank.

  2. Backup aller Postgres-Datenbanken:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Sie können alle Datenbanken mit dem pg_dumpall-Befehl sichern. Der obige Befehl erstellt ein Dump aller Datenbanken, die auf der Postgres-Instanz auf einem bestimmten Server laufen. Um alle Datenbanken aufzulisten, die gesichert wurden, verwenden Sie den Befehl grep “^[\]connect” all.sql.

Wie man eine Postgres-Datenbank wiederherstellt

  1. Stellen Sie eine Postgres-Tabelle wieder her:

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Der obige Befehl installiert die Tabelle, die in der Datei ms_table.sql gesichert wurde, in der ‘pe’-Datenbank. Stellen Sie sicher, dass diese Tabelle nicht bereits existiert, sonst erhalten Sie eine Reihe von ‘bereits vorhanden’-Fehlern. Dieser Befehl erstellt die Tabelle und exportiert alle Daten in die neu erstellte Tabelle.

  2. Stellen Sie eine Postgres-Datenbank wieder her:

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Ähnlich wie beim Wiederherstellen der Tabelle können wir den obigen Befehl verwenden, um die vollständige Datenbank wiederherzustellen. Hier stellen wir die ‘pe’-Datenbank mit der Datei pe_dump.sql wieder her, die wir beim Sichern der Datenbank im oben genannten Backup-Abschnitt erstellt haben.

  3. Stellen Sie alle Datenbanken wieder her:

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Stellen Sie alle Datenbanken mit dem obigen Befehl wieder her. ‘all_dump.sql’ war die Datei, die mit pg_dumpall erstellt wurde. Der obige Befehl gibt uns alle Postgres-Datenbanken im exakt gleichen Zustand zurück, in dem sie waren, als ein Dump vom ursprünglichen Datenbankserver erstellt wurde.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

R

Erreichen

G

Grow

M

Manage

A

Automate

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.