So verwenden Sie pg_dump auf postgressql

So verwenden Sie pg_dump auf postgressql

PostgreSQL kommt mit pg_dump, Ein integriertes Tool zum Erstellen von Backups der Datenbanken. Es ermöglicht Admins, Backups in verschiedenen Manieren zu erstellen: voll, inkrementelle oder kontinuierliche Backups (lokal/remote).

In dieser Anleitung präsentieren wir mithilfe pg_dump Backups in unseren PostgreSQL -Datenbanken herzustellen.

Voraussetzungen

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

  • Ein richtig konfiguriertes Linux-System. Erfahren Sie mehr über die Installation von Ubuntu.
  • Die neueste Version von Postgresql installiert und konfiguriert. Lesen Sie die Installation und Konfiguration von PostgreSQL auf Ubuntu.

Darüber hinaus werden wir auch eine BeispielpostgreSQL -Datenbank verwenden. Zur Benutzerfreundlichkeit werde ich verwenden Phppgadmin, ein Web-Front-End für PostgreSQL.

Verwenden von pg_dump

Der pg_dump Der Befehl exportiert eine Datenbank in einer Skriptdatei (mit SQL -Befehlen, um die Datenbank zu rekonstruieren) oder eine Archivdatei. Das Hauptziel dieses Tools ist es, Datenbanken zu sichern. Während dem Benutzen pg_dump, Die Datenbank ist weiterhin für Lese- und Schreibvorgänge zugänglich.

Beachten Sie, dass pg_dump funktioniert nur mit einer einzelnen Datenbank.

Wenn die Datenbank als SQL-Skript extrahiert wurde, können Sie die Datenbank in eine andere SQL-basierte Datenbank importieren. Wenn es jedoch als Archivdatei extrahiert wurde, kann es nur mit dem wiederhergestellt werden pg_restore Werkzeug. Eine coole Sache mit pg_restore Sie können definieren, welchen Teil der Datenbank Sie wiederherstellen sollen.

PG_DUMP -Befehlsstruktur

Die primäre Befehlsstruktur von pg_dump sieht aus wie das:

1
$ pg_dump

Exportieren einer Datenbank (als SQL -Skript)

Wie bereits erwähnt, pg_dump Kann die Datenbank in verschiedenen Formaten exportieren. Verwenden Sie den folgenden Befehl, um die Datenbank in eine SQL -Datei zu exportieren:

1
$ pg_dump > .sql

In diesem Beispiel exportieren wir die Datenbank DVDrental Zu DVDrental-Backup.sql:

1
$ pg_dump -u postgres dvDrental> dvDrental -backup.sql

Beachten Sie, dass die Exportoperation fehlschlägt, wenn der von Ihnen ausgeführte Benutzer ausfällt pg_dump hat keine Erlaubnis, die Datenbank zu lesen. Hier, weil Postgres ist der Superuser von PostgreSQL, der Befehl wurde erfolgreich ausgeführt.

Exportieren einer Datenbank (als Teerarchiv)

Als nächstes werden wir die Datenbank als Archiv exportieren. Der folgende Befehl exportiert es in einem Teerformat:

1
$ pg_dump -u postgres -f c dvDrental> dvDrental.Teer

Exportieren einer Datenbank (als komprimiertes Archiv)

Wenn Sie eine große Datenbank exportieren, hilft die Komprimierung bei der Reduzierung der Dateigröße. Im folgenden Beispiel wird die exportierte Datenbank mit dem GZIP -Tool komprimiert:

1
$ pg_dump -u postgres dvDrental | gzip> dvdrental.gz

Alternativ können wir die eingebaute Komprimierung von verwenden pg_dump Um den Ausgang zu komprimieren:

1
$ pg_dump -u postgres -compress = 9 dvDrental> dVDrental.Teer

Exportieren einer Datenbank (Verzeichnisformat)

Anstatt die Datenbank in eine einzige Datei zu exportieren, pg_dump Bietet die Option, es in ein Verzeichnis einzulegen.

Im folgenden Beispiel exportieren wir die Datenbank DVDrental zum Verzeichnis DVDrental-Backup:

1
$ pg_dump -u postgres -f d dvDrental -f dvdrental -backup/

Exportieren aller Datenbanken

Wenn Sie eine vollständige Sicherung des PostgreSQL Datenbankserver, dann können Sie verwenden pg_dumpall.

1
$ pg_dumpall -f full_backup.sql

Die Sicherung umfasst alles: Rollen, Schemata und Daten. Jedoch, pg_dumpall Ermöglicht die Exportierung spezifischer Komponenten.

Der folgende Befehl exportiert nur die Rollen:

1
$ PG_DUMPALL -Nur -roles -u -postgres> All_db_roles.sql

Der folgende Befehl exportieren nur Schemas:

1
$ PG_DUMPALL --schema -Only -U -Postgres> All_db_schema.sql

Der folgende Befehl exportiert nur die Tablespace -Definitionen:

1
$ PG_DUMPALL --TableSpaces -Only -U -Postgres> All_db_tablespaces.sql

Abschließende Gedanken

In diesem Leitfaden haben wir verschiedene Arten der Verwendung der verwendet pg_dump Befehl zum Exportieren von Datenbanken aus PostgreSQL. Wir haben eine Beispieldatenbank als SQL -Skript und Archiv exportiert. Mit PG_DUMPALL haben wir auch verschiedene Komponenten aller Datenbanken in postgreSQL exportiert.

PostgreSQL ist eine leistungsstarke Datenbankmotor mit unzähligen Funktionen. Die PostgreSQL-Unterkategorie enthält zahlreiche Leitfäden. Erfahren Sie mehr über die Auflistung von Benutzern, das Ablegen von Benutzern, Fuzzy -Suche usw.