[email protected]

AWS RDS/Aurora PostgreSQL zu Hetzner Cloud migrieren – pg_dump/restore Guide

AWS RDS/Aurora PostgreSQL zu Hetzner Cloud migrieren – pg_dump/restore Guide

Hinweis zum Inhalt: Die Informationen in diesem Artikel wurden nach bestem Wissen zum Zeitpunkt der Veröffentlichung zusammengestellt. Technische Details, Preise, Versionen, Lizenzmodelle und externe Inhalte können sich ändern. Bitte prüfen Sie die genannten Angaben eigenständig, insbesondere vor geschäftskritischen oder sicherheitsrelevanten Entscheidungen. Dieser Artikel ersetzt keine individuelle Fach-, Rechts- oder Steuerberatung.

AWS-Kosten explodieren? RDS zu teuer? Wir migrieren eure PostgreSQL-Datenbanken von AWS RDS/Aurora zu Hetzner Cloud – mit minimalem Risiko und klarem Cutover-Plan. 👉 Zur AWS-Migration-Übersicht | Cloud-Exit-Check

Preisreferenz: Der im FAQ genannte CPX42-Preis gilt seit dem 15. Juni 2026 für Deutschland/Finnland, netto sowie ohne IPv4 und Umsatzsteuer. Offizielle Hetzner-Preisquelle

AWS ist für viele Teams der Startpunkt – und später der Kostentreiber. Spätestens wenn eine Anwendung stabil läuft, werden die „weichen" Posten sichtbar: laufende RDS-Instanzkosten, Storage/IO, Backups – und vor allem Datenverkehr/Egress. AWS weist selbst darauf hin, dass Data-Transfer-Kosten beim Architekturdesign oft übersehen werden (AWS Blog).

Dazu kommt bei EU-Unternehmen immer häufiger ein zweites Motiv: digitale Souveränität und Datenhoheit. Seit Schrems II ist das Thema Drittlandtransfer und EU-konforme Cloud-Architektur stärker auf dem Radar (EuroCloud). Hetzner betreibt eigene Rechenzentren in Nürnberg, Falkenstein (DE) und Helsinki (FI) (Hetzner Docs).

In diesem Beitrag geht es um den häufigsten Exit-Schritt nach Storage: AWS RDS PostgreSQL → PostgreSQL auf einer Hetzner Cloud VM. Und weil Downtime akzeptabel ist, ist die Default-Empfehlung klar: pg_dump/pg_restore – der pragmatischste, am besten kontrollierbare Weg.

Inhaltsverzeichnis


Empfehlung und Zielbild

Default-Empfehlung: pg_dump/pg_restore

Wenn ihr RDS nutzt und ein Wartungsfenster (Downtime) akzeptabel ist:

  • Der Ansatz ist erprobt, stabil und transparent – native PostgreSQL-Tools reichen aus (AWS Docs)
  • Komplizierte Replikation, Logical Replication oder DMS-Setups entfallen
  • Für Datenbanken bis ca. 100-500 GB ist ein Wartungsfenster realistisch planbar

Zielbild bei Hetzner: Es gibt kein "Managed PostgreSQL" bei Hetzner Cloud. Das Ziel ist: VM anlegen und PostgreSQL selbst installieren/betreiben – mit voller Kontrolle über Konfiguration, Backups und Updates.


Zielsystem vorbereiten: Hetzner VM und PostgreSQL

VM und Storage anlegen

  1. VM in Hetzner Cloud anlegen
    • Ubuntu LTS (z.B. 24.04 oder 26.04, bei Hetzner seit Mai 2026 verfügbar) oder Debian
    • Genügend RAM/CPU entsprechend der DB-Last
    • Separates Volume für /var/lib/postgresql (Wachstum/Backups)
    • Private Network / Firewall-Regeln für Zugriff

PostgreSQL installieren

sudo apt update
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable --now postgresql

Datenbank und User anlegen:

sudo -u postgres createuser --pwprompt appuser
sudo -u postgres createdb -O appuser appdb

Remote-Zugriff konfigurieren

  • postgresql.conf: listen_addresses nur auf benötigte IPs
  • pg_hba.conf: nur explizite Netze/IPs erlauben
  • Firewall: Port 5432 nur von Migration-Host/App-Netz

Backup-Strategie definieren

Ab jetzt seid ihr selbst DBA. Minimum:

  • Nightly pg_dump + Rotation
  • VM/Volume Snapshots (zusätzlich, nicht allein)
  • Optional: WAL-Archivierung für Point-in-Time Recovery

Migration mit pg_dump/pg_restore

Ablauf (High-Level)

  1. Wartungsfenster starten – App in Maintenance / Read-Only
  2. Dump erstellen (komprimiert, optional parallel)
  3. Transfer des Dumps zur Hetzner-VM
  4. Restore auf Ziel-PostgreSQL
  5. Fixups – Extensions, Owner, Grants, Sequences
  6. Validierung – Counts, Stichproben, Smoke Tests
  7. Cutover – App-Connection-String umstellen
  8. Monitoring – Altes RDS vorerst read-only lassen (Rollback-Fenster)

CMD-Beispiele

Dump (AWS RDS als Quelle)

Custom Format (kompakt, flexibel):

export PGPASSWORD="<AWS_PASSWORD>"

pg_dump \
  -h <AWS_HOST> -p 5432 -U <AWS_USER> -d <DBNAME> \
  -Fc -Z 6 \
  -f db.dump
  • -Fc: Custom Format (ideal für pg_restore)
  • -Z 6: Kompression

Directory Format + parallel (für große DBs):

pg_dump \
  -h <AWS_HOST> -p 5432 -U <AWS_USER> -d <DBNAME> \
  -Fd -j 8 \
  -f dumpdir/

Transfer zur Hetzner VM

rsync -avP db.dump root@<HETZNER_VM_IP>:/root/

Restore auf Hetzner VM

Datenbank anlegen:

export PGPASSWORD="<HETZNER_PASSWORD>"
createdb -h <HETZNER_VM_IP> -p 5432 -U <HETZNER_USER> <DBNAME>

Restore:

pg_restore \
  -h <HETZNER_VM_IP> -p 5432 -U <HETZNER_USER> -d <DBNAME> \
  --no-owner --no-privileges \
  -j 8 \
  /root/db.dump

Warum --no-owner --no-privileges? Beim Provider-Wechsel wollt ihr Rollen/Grants kontrolliert auf euer Zielmodell ziehen, statt AWS-Defaults zu importieren.

Statistiken aktualisieren:

ANALYZE;

Validierung nach Migration

Harte Checks (Daten)

  • Rowcounts für kritische Tabellen vergleichen
  • Summenchecks (z.B. Rechnungsbeträge)
  • Stichproben (IDs) quer prüfen
SELECT 'users'  AS t, count(*) FROM public.users
UNION ALL
SELECT 'orders' AS t, count(*) FROM public.orders;

Smoke Tests (Applikation)

  • Login funktioniert
  • 2-3 wichtigste Geschäftsprozesse (Create/Update/Payment)
  • Background Jobs / Cron
  • Schreibpfade testen (Insert/Update/Delete)

Performance Quickcheck

  • Connection Pooling konfiguriert?
  • Error Rate & DB Connections nach Cutover beobachten

Häufige Fallstricke

Problem Lösung
Extensions fehlen Vorab inventarisieren (SELECT * FROM pg_extension) und auf Ziel installieren
Sequences falsch nextval() stimmt nicht → per Script setval() anpassen
Grants/Owner fehlen Nachziehen, weil --no-owner/--no-privileges genutzt wird
Timeouts beim Dump Parallelisieren (-j), Wartungsfenster anpassen

Cutover-Checkliste

T-7 bis T-2 Tage

  • Hetzner VM + Volume steht (Location gewählt)
  • PostgreSQL installiert, Firewall/pg_hba konfiguriert
  • Backup-Job auf Ziel aktiv
  • Probedump/Proberestore durchgeführt

T-24h

  • Wartungsfenster kommuniziert
  • Rollback definiert (Conn-String zurück auf RDS)
  • Smoke-Test-Szenarien dokumentiert

Cutover

  • App Read-Only / Maintenance
  • Dump erstellt + transferiert + restore
  • Validierung: Counts + Stichproben + Smoke Tests
  • App auf Hetzner DB umgestellt
  • Monitoring (Errors, DB connections, latency)

T+24h

  • RDS noch read-only behalten (Sicherheitsnetz)
  • Performance & Fehler beobachten
  • RDS dekommissionieren, wenn stabil

Alternativen bei minimaler Downtime

Wenn Dump/Restore zu lang dauert oder Downtime kritisch ist:

  • Logical Replication (Publication/Subscription) – Low Downtime, mehr Setup (AWS Blog)
  • AWS DMS (Full Load + CDC) – orchestriert, aber Setup-Aufwand (AWS Docs)

Für diesen Artikel – weil Downtime ok – bleibt pg_dump/restore die Default-Empfehlung.


Unser Vorgehen bei WZ-IT

Unser Standard-Flow für AWS RDS → Hetzner PostgreSQL:

  1. Assessment: DB-Größe, Extensions, Änderungsrate, Downtime-Budget
  2. Zielsystem: Hetzner VM provisionieren, PostgreSQL installieren, Firewall/Backup
  3. Testmigration: Probedump auf Test-DB, Validierung, Performance-Check
  4. Cutover-Planung: Wartungsfenster, Rollback-Plan, Kommunikation
  5. Migration: Dump → Transfer → Restore → Validierung → Cutover
  6. Monitoring: Error Rates, Latenzen, App-Logs, Backup-Verifizierung

👉 Wir erstellen euch einen konkreten Cutover-Runbook mit allen Befehlen und Checklisten.


Weiterführende Guides

Diese Anleitungen könnten euch ebenfalls interessieren:


Bereit für die Migration? Bei WZ-IT übernehmen wir Analyse, Migration und Betrieb eurer Datenbank-Infrastruktur – von AWS zu kosteneffizienten, europäischen Alternativen.

👉 Cloud-Exit-Check ansehen

Quellen

Timo Wevelsiep

Geschrieben von

Timo Wevelsiep

Co-Founder & CEO

Co-Founder von WZ-IT. Spezialisiert auf Cloud-Infrastruktur, Open-Source-Plattformen und Managed Services für KMUs und Enterprise-Kunden weltweit.

Häufig gestellte Fragen

Antworten auf wichtige Fragen zu diesem Thema

Unternehmen weltweit vertrauen WZ-IT

  • Stadtwerke Brühl
  • DGHO e.V.
  • solarwerkstatt berlin
  • ABCO Water Systems
  • Golem.de
  • EVADXB
  • nextGYM
  • AInergy
  • ml&s
  • Odiseo Solutions
  • Annota
  • ARGE
  • SweetConnect GmbH
  • Aphy AG
  • CORGOS
  • Rekorder
  • SolidProof
  • Yonju
  • Keymate
  • Paritel
  • Mr. Clipart
  • Millenium
  • Negosh
  • Führerscheinmacher
Kundenstimmen ansehen

Anfrage

RDS oder Aurora PostgreSQL kontrolliert zu Hetzner migrieren

Wir prüfen Größe, Extensions, Änderungsrate und Downtime-Budget und erstellen Zielsystem, Testmigration, Validierung, Cutover und Rollback für Ihre Datenbank.

  • Direkt mit Timo und Robin - kein Vertrieb, kein Sales-Pitch
  • Fachliche Einschätzung Ihrer Situation
  • Konkrete nächste Schritte für Infrastruktur, Software oder KI

Das Gespräch ist unverbindlich und kostenlos.

Die Beratung von WZ-IT zu unserer Azure-Migration war schon im Erstgespräch fachlich sehr fundiert und völlig unverbindlich - wir haben eine Menge mitgenommen.
Jakob ÖschlbergerInno7 GmbH
Timo und Robin, Gründer von WZ-IT

Welchen Migrationsweg benötigt Ihre PostgreSQL-Datenbank?

Die Beratung von WZ-IT zu unserer Azure-Migration war schon im Erstgespräch fachlich sehr fundiert und völlig unverbindlich - wir haben eine Menge mitgenommen.
Jakob ÖschlbergerInno7 GmbH