GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So sichern und wiederherstellen Sie eine Datenbank in PostgreSQL

PostgreSQL ist kostenlos, Open Source und eines der beliebtesten Managementsysteme für relationale Datenbanken, das Millionen von Anwendungen unterstützt. Wenn Sie ein Datenbankadministrator sind, der PostgreSQL in einer Produktionsumgebung verwendet, ist es wichtig, Ihre Datenbank zu sichern, damit Sie Ihr System schnell wiederherstellen können, wenn Ihre Datenbank verloren geht.

In diesem Tutorial zeigen wir Ihnen, wie Sie die PostgreSQL-Datenbank unter Linux sichern und wiederherstellen.

Voraussetzungen

  • Ein frisches Ubuntu 20.04 VPS mit PostgreSQL, installiert auf der Atlantic.net Cloud Platform.
  • Wenn Sie PostgreSQL noch nicht installiert haben, können Sie in diesem Blog nachlesen, wie Postgres installiert und konfiguriert wird.
  • Ein auf Ihrem Server konfiguriertes Root-Passwort.

1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

2 – Die grundlegende Syntax von pg_dump verstehen

PostgreSQL enthält integrierte Dienstprogramme namens pg_dump zum einfachen Erstellen und Wiederherstellen von Backups.

Die grundlegende Syntax des pg_dump-Befehls ist unten dargestellt:

pg_dump [OPTION]... [DBNAME]

Nachfolgend finden Sie eine kurze Erläuterung der einzelnen Optionen:

-d, –dbname=DATENBANKNAME : Wird verwendet, um die Datenbank anzugeben, die Sie sichern möchten.
-h, –host=HOSTNAME : Wird verwendet, um den Hostnamen Ihres Datenbankservers anzugeben.
-U, –username=USERNAME : Wird verwendet, um den PostgreSQL-Benutzernamen anzugeben.
-w, –no-password : Wird verwendet, um die Passwortabfrage zu ignorieren.
-p, –port=PORT : Wird verwendet, um die Portnummer des PostgreSQL-Servers anzugeben.
-W, –password : Wird verwendet, um eine Passwortabfrage zu erzwingen.
–role=ROLLENNAME : SET ROLE vor dem Dump.

3 – Sichern und Wiederherstellen einer einzelnen Datenbank

Sie können eine einzelne Datenbank mit dem Dienstprogramm pg_dump sichern und wiederherstellen. Die grundlegende Syntax zum Sichern einer einzelnen Datenbank ist unten dargestellt:

pg_dump -d [source-database] -f [database_backup.sql]

Um beispielsweise eine einzelne Datenbank namens testdb zu sichern und eine Sicherungsdatei namens testdb_backup.sql zu generieren, führen Sie den folgenden Befehl aus:

su - postgres
pg_dump -d testdb -f testdb_backup.sql

Sie können auch eine einzelne Datenbank mit dem Befehl psql wiederherstellen. Die grundlegende Syntax zum Wiederherstellen einer einzelnen Datenbank ist unten dargestellt:

psql -d [destination_database] -f [database_backup.sql]

Um beispielsweise eine einzelne Datenbank namens testdb aus einer Sicherungsdatei namens testdb_backup.sql wiederherzustellen, führen Sie den folgenden Befehl aus:

su - postgres
psql -d testdb -f testdb_backup.sql

Sie sollten die folgende Ausgabe erhalten:

SET
SET
SET
SET
SET
 set_config
------------

(1 row)

SET
SET
SET
SET

Wenn Sie den Datenbankwiederherstellungsprozess stoppen möchten, falls ein Fehler auftritt, führen Sie den folgenden Befehl aus:

psql -d testdb --set ON_ERROR_STOP=on -f testdb_backup.sql

Hinweis: Vor dem Wiederherstellen einer Datenbank wird empfohlen, alle Verbindungen zu dieser Datenbank zu beenden und die Sicherungsdatei vorzubereiten.

Alle Datenbanken sichern und wiederherstellen

Sie können alle Datenbanken in PostgreSQL mit dem Dienstprogramm pg_dumpall sichern. Die grundlegende Syntax zum Sichern aller Datenbanken wie unten gezeigt:

pg_dumpall -f [alldatabase_backup.sql]

Um beispielsweise alle Datenbanken in PostgreSQL zu sichern und eine Sicherungsdatei namens alldb_backup.sql zu generieren, führen Sie den folgenden Befehl aus:

pg_dumpall -f alldb_backup.sql

Um alle Datenbanken aus einer Sicherungsdatei namens alldb_backup.sql wiederherzustellen, führen Sie den folgenden Befehl aus:

psql -f alldb_backup.sql

Einzelne Tabelle sichern und wiederherstellen

Mit PostgreSQL können Sie auch eine einzelne Tabelle aus einer bestimmten Datenbank sichern. Sie können dies mit der folgenden Syntax erreichen:

pg_dump -d [source-database] -t [table_name]-f [dbtable_backup.sql]

Um beispielsweise eine Tabelle namens mytab aus der Datenbank namens testdb zu sichern und eine Sicherungsdatei namens testdb_mytab.sql zu generieren, führen Sie den folgenden Befehl aus:

pg_dump -d testdb -t mytab  -f testdb_mytab_backup.sql

Wenn Sie diese Tabelle aus der Sicherungsdatei wiederherstellen möchten, führen Sie den folgenden Befehl aus:

psql -d testdb -f testdb_mytab_backup.sql

Komprimierte Datenbank sichern und wiederherstellen

Sie können die PostgreSQL-Datenbank auch sichern und im .gz-Format komprimieren, um die Sicherungsgröße zu reduzieren.

Führen Sie den folgenden Befehl aus, um eine Sicherungskopie der Datenbank namens testdb zu erstellen und eine komprimierte Sicherungsdatei namens testdb_compressed.sql.gz zu erstellen:

pg_dump -d testdb | gzip > testdb_compressed.sql.gz

Sie können die Sicherung auch aus der komprimierten Datei mit dem folgenden Befehl wiederherstellen:

gunzip -c testdb_compressed.sql.gz | psql  -d testdb

Schlussfolgerung

In der obigen Anleitung haben Sie mehrere Möglichkeiten zum Sichern und Wiederherstellen einer PostgreSQL-Datenbank kennengelernt, um Ihnen bei der Durchführung täglicher Datenbanksicherungsvorgänge zu helfen. Beginnen Sie noch heute mit einer PostgreSQL-Datenbank auf VPS-Hosting von Atlantic.Net!


Linux
  1. MySQL:So sichern (dumpen) und wiederherstellen Sie eine Datenbank mit mysqldump

  2. So sichern und wiederherstellen Sie das SVN-Repository unter Linux

  3. So sichern und wiederherstellen Sie die Postgres-Datenbank

  4. So sichern und wiederherstellen Sie RabbitMQ-Daten und -Konfigurationen

  5. Sichern und Wiederherstellen der MySQL-Datenbank mit mysqlhotcopy

So sichern und wiederherstellen Sie eine SD-Karte für Raspberry Pi

So verwenden Sie Timeshift zum Sichern und Wiederherstellen von Linux

So erstellen Sie eine Sicherungskopie und stellen die MSSQL/MySQL-Datenbank in Plesk wieder her

Wie stellt man eine Datenbanksicherung mit JetBackup 5 wieder her?

So installieren Sie die PostgreSQL-Datenbank und pgAdmin unter Linux

So sichern und wiederherstellen Sie eine WordPress-Website