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:
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 |
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.