Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
21.11.2024

Sicherung und Wiederherstellung von PostgreSQL-Datenbanken

Sichere PostgreSQL-Backups auf AlexHost Dedicated Servern

Warum PostgreSQL bei AlexHost sichern? Datenverlust kann jedes Projekt lahmlegen, aber die dedizierten Servervon AlexHost – mitblitzschnellem NVMe-Speicher, vollem Root-Zugriff und DDoS-Schutz – bieten eine felsenfeste Grundlage für das Hosting und die Sicherung von PostgreSQL-Datenbanken. Ganz gleich, ob Sie eine WordPress-Website, eine E-Commerce-Plattform oder eine benutzerdefinierte Anwendung betreiben, dieser Leitfaden zeigt Ihnen, wie Sie PostgreSQL-Datenbanken mithilfe von SQL-Dumps, benutzerdefinierten Formaten und PITR sichern und wiederherstellen können – alles optimiert für die Hochleistungsumgebung von AlexHost.

1. Verstehen der PostgreSQL-Backup-Optionen

PostgreSQL bietet mehrere Methoden für die Datensicherung, darunter

  • SQL-Dump: Diese Methode erstellt ein Klartext-SQL-Skript der Datenbank, das zur Wiederherstellung der Datenbank verwendet werden kann.
  • Benutzerdefinierter Format-Dump: Bei dieser Methode wird eine Binärdatei erstellt, die komprimiert werden kann und für große Datenbanken geeignet ist.
  • Sicherung auf Dateisystemebene: Bei dieser Methode wird ein Schnappschuss der Datenbankdateien auf der Festplatte erstellt, der sich für große Datenbanken eignet, aber mehr Fachwissen erfordert.
  • Kontinuierliche Archivierung und Point-in-Time Recovery (PITR): Mit dieser Methode können Sie die Datenbank zu einem bestimmten Zeitpunkt wiederherstellen.

2. Vorbereitungen für die Sicherung

Vergewissern Sie sich vor der Durchführung eines Backups, dass Sie über die erforderlichen Berechtigungen verfügen. Sie müssen ein Superuser oder der Eigentümer der Datenbank sein, die Sie sichern möchten

3. Sichern einer PostgreSQL-Datenbank

Methode 1: Verwendung von pg_dump

Mit dem Dienstprogramm pg_dump können Sie eine Sicherung Ihrer Datenbank erstellen

Schritt 1: Öffnen Sie ein Terminal

Greifen Sie auf Ihren Server über SSH oder direkt auf der Maschine zu

Schritt 2: Führen Sie den Befehl pg_dump aus

Um einen SQL-Dump einer Datenbank zu erstellen, verwenden Sie den folgenden Befehl

pg_dump -U username -W -F p database_name > backup_file.sql
  • -U username: Geben Sie den PostgreSQL-Benutzernamen an.
  • -W: Eingabeaufforderung für das Passwort.
  • -F p: Geben Sie das Format an (einfaches SQL-Skript).
  • database_name: Der Name der Datenbank, die Sie sichern möchten.
  • backup_file.sql: Der Name der Ausgabedatei für die Sicherung.
Beispiel:
pg_dump -U postgres -W -F p my_database > my_database_backup.sql

Methode 2: Verwendung von pg_dumpall

Wenn Sie alle Datenbanken der PostgreSQL-Instanz sichern wollen, können Sie pg_dumpall verwenden

pg_dumpall -U username -W > all_databases_backup.sql

4. Sichern mit benutzerdefiniertem Format

Um eine Sicherung im benutzerdefinierten Format zu erstellen, verwenden Sie die Option -F c mit pg_dump

pg_dump -U username -W -F c database_name > backup_file.dump

Dieses Format ermöglicht eine einfachere Wiederherstellung und Komprimierung

5. Wiederherstellung einer PostgreSQL-Datenbank

Methode 1: Wiederherstellung aus einem SQL-Dump

Um eine Datenbank aus einem SQL-Dump wiederherzustellen, verwenden Sie den Befehl psql

psql -U username -d database_name -f backup_file.sql
  • -d database_name: Der Name der Datenbank, in der Sie die Daten wiederherstellen möchten.
  • backup_file.sql: Der Pfad zur SQL-Dump-Datei.

Methode 2: Wiederherstellung aus einem benutzerdefinierten Format

Für einen Dump in einem benutzerdefinierten Format verwenden Sie den Befehl pg_restore

pg_restore -U username -d database_name backup_file.dump
  • Sie können die Option -C verwenden, um die Datenbank vor der Wiederherstellung zu erstellen, wenn sie nicht existiert.

6. Kontinuierliche Archivierung und Point-in-Time Recovery (PITR) verwenden

Für fortgeschrittene Benutzer ermöglicht PostgreSQL eine kontinuierliche Archivierung, die die Konfiguration von WAL (Write-Ahead Logging) erfordert. Diese Methode beinhaltet

  1. Einrichten der WAL-Archivierung: Ändern Sie die Datei postgresql.conf, um die WAL-Archivierung zu aktivieren
    archive_mode = on archive_command = 'cp %p /path/to/archive/%f'
  2. Durchführen von Base Backups: Verwenden Sie pg_basebackup, um ein vollständiges Backup der Datenbank zu erstellen.
  3. Wiederherstellung aus WAL-Archiven: Sie können die Datenbank zu einem bestimmten Zeitpunkt mit Hilfe des Basis-Backups und der archivierten WAL-Dateien wiederherstellen.

Schlussfolgerung: Sichern Sie Ihre PostgreSQL-Daten mit AlexHost

Der Schutz Ihrer PostgreSQL-Datenbanken ist nicht verhandelbar, und die dedizierten Server von AlexHost machen es mit schnellen Backups und sicherer Speicherung einfach. Verwenden Sie pg_dump für schnelle SQL-Dumps, benutzerdefinierte Formate für große Datenbanken oder PITR für präzise Wiederherstellung. Automatisieren Sie mit Cron, sichern Sie mit UFW und sichern Sie offsite, um sich keine Sorgen zu machen. Mit der NVMe-Geschwindigkeit und -Unterstützung von AlexHost bleiben Ihre Daten sicher und Ihre Anwendungen laufen weiter – beginnen Sie noch heute mit der Datensicherung!

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills