Postgresql - eines der beliebtesten relationalen Datenbankmanagementsysteme. Wenn Sie eine Sicherungskopie Ihrer Datenbank erstellen müssen, können Sie den Befehl verwenden pg_dump über die Konsole.
pg_dump ist ein Befehlszeilenprogramm, mit dem Sie eine Postgresql-Datenbank in eine Textdatei ablegen (sichern) können.
Der Prozess zum Erstellen eines Dumps mit pg_dump ziemlich einfach und erfordert nur ein paar Schritte. Zuerst müssen Sie die Eingabeaufforderung öffnen und zu dem Verzeichnis navigieren, in dem Postgresql installiert ist. Dann müssen Sie den Befehl ausführen pg_dump Geben Sie den Namen der Datenbank an, die Sie kopieren möchten, und den Namen der Datei an, in die Sie den Dump speichern möchten.
Bevor Sie jedoch den Befehl ausführen pg_dump stellen Sie sicher, dass Sie genügend Speicherplatz haben, um den Dump zu speichern. Es wird auch empfohlen, dass Sie vorher überprüfen, ob die angegebenen Datenbank- und Dateinamen korrekt sind.
Anleitung: Wie erstelle ich einen PostgreSQL-Dump über die Konsole
Das Sichern einer PostgreSQL-Datenbank ("Dump") kann sehr nützlich sein, um wichtige Informationen zu speichern oder die Datenbank auf einen anderen Server zu migrieren. Diese Anweisung zeigt Ihnen, wie Sie einen PostgreSQL-Dump über die Befehlszeile erstellen.
Schritt 1: Öffnen Sie eine Eingabeaufforderung oder ein Terminal.
Schritt 2: Geben Sie den folgenden Befehl ein:
| pg_dump -U Benutzername -d Datenbankname > Dateipfad.sql |
Ersetzen Sie "Benutzername" durch den Namen des Datenbankbenutzers und "Datenbankname" durch den Namen der Datenbank, die Sie kopieren möchten. "pfad zu Datei.sql" ist der Speicherort und Name der Datei, an der der Dump gespeichert werden soll. Sie können einen beliebigen Dateinamen und einen beliebigen Ordner auf Ihrem Computer auswählen.
Schritt 3: Drücken Sie die Eingabetaste, um den Befehl auszuführen. Abhängig von der Größe der Datenbank kann der Prozess zum Erstellen des Dumps einige Zeit in Anspruch nehmen.
Glückwunsch! Sie haben erfolgreich einen PostgreSQL-Dump über die Befehlszeile erstellt. Sie haben jetzt eine Sicherung Ihrer Datenbank, mit der Sie Daten wiederherstellen oder auf einen anderen Server übertragen können.
Verbindung mit der Datenbank herstellen
Um Operationen mit einer PostgreSQL-Datenbank über die Konsole auszuführen, müssen Sie zuerst eine Verbindung mit der PostgreSQL-Datenbank herstellen. Verwenden Sie dazu den Befehl psql.
Um eine Verbindung mit der Datenbank herzustellen, müssen Sie die folgenden Parameter kennen:
- name der Datenbank
- Benutzername
- passwort des Benutzers
- host (normalerweise localhost)
- port (normalerweise 5432)
Um eine Verbindung mit der Datenbank herzustellen, geben Sie den Befehl im Format ein:
psql -h хост -p порт -U имя_пользователя -W имя_базы_данных
Nach Eingabe des Befehls wird das System zur Eingabe des Benutzerpassworts aufgefordert. Nachdem Sie das Passwort erfolgreich eingegeben haben, werden Sie mit der Datenbank verbunden und können Operationen damit durchführen.
Installieren des Pakets pg_dump
Um ein PostgreSQL-Datenbankabbild über die Konsole zu erstellen, müssen Sie das Paket pg_dump installieren. Führen Sie dazu die folgenden Schritte aus:
| Schritt | Das Team |
|---|---|
| 1 | Öffnen Sie ein Terminal oder eine Eingabeaufforderung. |
| 2 | Geben Sie den Befehl ein: |
| sudo apt-get install postgresql-client | |
| 3 | Drücken Sie die Eingabetaste, um mit der Installation des pg_dump-Pakets zu beginnen. |
| 4 | Warten Sie, bis die Installation abgeschlossen ist. |
Nachdem Sie das pg_dump-Paket installiert haben, können Sie den Befehl pg_dump in der Konsole verwenden, um ein PostgreSQL-Datenbankabbild zu erstellen.
Optionen für den Befehl pg_dump
Im Folgenden sind einige der nützlichsten Befehlsoptionen aufgeführt pg_dump:
- -h oder --host=host: Eine Option, mit der Sie den Remote-Host angeben können, auf dem sich die Datenbank befindet. Der Wert muss entweder der Domänenname oder die IP-Adresse des Hosts sein.
- -U oder --username=Benutzer: Eine Option, mit der Sie den Benutzernamen angeben können, unter dem die Verbindung zur Datenbank hergestellt werden soll. Standardmäßig wird der Name des aktuellen Benutzers verwendet.
- -d oder --dbname=Datenbank: Eine Option, die den Namen der zu exportierenden Datenbank angibt.
- -t oder --table=Tabelle: Eine Option, mit der Sie eine bestimmte Tabelle angeben können, die exportiert werden soll. Sie können mehrere Tabellen angeben, indem Sie sie durch ein Komma trennen.
- -s oder --schema=schema: Eine Option, mit der Sie ein bestimmtes Schema angeben können, das exportiert werden soll.
- -F oder --format=format: Eine Option, mit der Sie das Format zum Erstellen des Dumps auswählen können. Zu den unterstützten Formaten gehören "custom" (binär), "directory" (ein Verzeichnis mit separaten Dateien für jedes Objekt) und "tar" (ein Tar-Archiv).
- --data-only: Eine Option, die angibt, dass nur die Daten exportiert werden sollen, ohne das Schema und die Struktur der Datenbank.
- --no-owner: Eine Option, die angibt, dass die Besitzerinformationen der Datenbankobjekte nicht in den zu erstellenden Dump aufgenommen werden sollen.
- --no-comments: Eine Option, die angibt, dass Kommentare zu Datenbankobjekten nicht in den zu erstellenden Dump aufgenommen werden sollen.
Dies sind nur einige der verfügbaren Befehlsoptionen pg_dump. Eine vollständige Liste der Optionen finden Sie in der PostgreSQL-Dokumentation oder verwenden Sie den Befehl pg_dump --help um Hilfe zur Verwendung zu erhalten.
Erstellen eines PostgreSQL-Dumps
Sie können den folgenden Befehl verwenden, um ein PostgreSQL-Datenbankabbild zu erstellen pg_dump von der Konsole aus.
pg_dump -h хост -p порт -U пользователь -W -F формат -f путь_к_файлу база_данных
host - adresse des PostgreSQL-Servers;
Hafen - port des PostgreSQL-Servers (normalerweise 5432);
Benutzer - benutzername für die Verbindung mit der Datenbank;
Format - dump-Format (z. B. "custom" oder "plain");
dateipfad - pfad zu der Datei, in der der Dump gespeichert werden soll;
Datenbank - der Name der Datenbank, für die ein Dump erstellt werden soll.
Beispiel für die Verwendung eines Befehls:
pg_dump -h localhost -p 5432 -U myuser -W -F custom -f /path/to/dump.backup mydatabase
Nach dem Ausführen dieses Befehls wird ein PostgreSQL-Datenbankabbild in der angegebenen Datei erstellt.
Beachten Sie, dass für die Ausführung des Befehls PostgreSQL installiert und auf die Serverkonsole zugegriffen werden muss.
Dump-Komprimierung
Sie können die Datenkomprimierung verwenden, um die Speicherabbildgröße zu reduzieren und Speicherplatz zu sparen. In PostgreSQL stehen verschiedene Komprimierungsmethoden zur Verfügung, die Sie beim Erstellen eines Dumps anwenden können.
Eine der beliebtesten Komprimierungstechniken ist die Verwendung des Dienstprogramms gzip. Gzip ist ein Standardwerkzeug zum Komprimieren von Dateien auf UNIX-Systemen. Sie können den Befehl verwenden, um einen komprimierten Dump zu erstellen:
- pg_dump -Fc mydatabase | gzip > mydatabase.dump.gz
In diesem Beispiel erstellt der Befehl pg_dump einen Dump der mydatabase-Datenbank im komprimierten Dateiformat, der dann zur Komprimierung an das Dienstprogramm gzip übergeben wird. Das Ergebnis wird in der Datei mydatabase gespeichert.dump.gz. Ein solches Dump kann einfach mit dem Dienstprogramm gzip entpackt werden.
Die Komprimierung des Dumps verringert nicht nur seine Größe, sondern beschleunigt auch die Übertragung und Wiederherstellung von Daten. Wenn Sie einen komprimierten Dump wiederherstellen, entpackt PostgreSQL ihn vor der Wiederherstellung automatisch. Dies macht den Wiederherstellungsprozess schneller und effizienter.
Neben gzip unterstützt PostgreSQL auch andere Komprimierungsmethoden wie bzip2 und lz4. Sie können auf ähnliche Weise verwendet werden. Die Wahl der Kompressionsmethode hängt von Ihren Bedürfnissen und dem erforderlichen Kompressionsniveau ab.
Da die Komprimierung des Dumps länger dauern kann als das Erstellen eines normalen Dumps, wird empfohlen, die Komprimierung nur für große Datenbanken zu verwenden oder bei Bedarf Speicherplatz zu sparen.
Wiederherstellen einer Datenbank aus einem Dump
Führen Sie die folgenden Schritte aus, um eine Datenbank aus einem PostgreSQL-Dump wiederherzustellen:
- Erstellen Sie eine neue Datenbank oder verwenden Sie eine bereits vorhandene Datenbank.
- Öffnen Sie eine Eingabeaufforderung und navigieren Sie zu dem Verzeichnis, in dem sich der Datenbankabbild befindet.
- Führen Sie den Befehl aus:
psql -U -d -f
Ändern Sie den Namen des Benutzers, der Zugriff auf die Datenbank hat, in den Namen der Datenbank, in die der Dump wiederhergestellt werden soll, und in den Namen der Datei mit dem gespeicherten Dump. Wenn Sie den Befehl mit Superuser-Rechten ausführen, müssen Sie möglicherweise das Flag -W hinzufügen, um ein Passwort anzufordern.
Nachdem Sie den Befehl ausgeführt haben, wird die Datenbank aus dem Dump wiederhergestellt, und Sie können damit beginnen.