Makroaufnahme einer roten Platine mit integriertem Schaltkreis, Quarz und Leiterbahnen

PostgreSQL · Patroni · CloudNativePG · pgBackRest

Managed PostgreSQL – Betrieb, Hochverfügbarkeit und Backup

Ihre Anwendungen hängen an PostgreSQL, der Betrieb soll nicht an einzelnen Personen hängen. SKAFFON betreibt Cluster mit automatischem Failover, Backups mit Point-in-Time-Recovery, Monitoring und Wartung, rund um die Uhr.

  • Betrieb und Support 24/7
  • VM-basiert (Patroni) oder Kubernetes (CloudNativePG)
  • Restore-Test mit Protokoll im Monatsbericht

01Ausgangslage

Eine Datenbank ist schnell installiert und schwer sicher betrieben

Failover, der wirklich umschaltet. Backups, die sich nachweislich einspielen lassen. Major-Upgrades ohne Überraschungen. Wartung ohne unnötigen Ausfall. Das ist der Teil, der nach der Installation bleibt, und genau diesen Teil übernimmt SKAFFON für Ihre PostgreSQL-Datenbanken.

Der Service richtet sich an IT-Leitung und Plattformverantwortliche, deren Anwendungen von PostgreSQL abhängen. Betrieb und Support laufen 24/7; Reaktionszeiten und Kennzahlen werden vertraglich festgelegt.

Betreibbar ist das auf STACKIT, AWS, Azure, GCP sowie auf eigener Infrastruktur, etwa auf Proxmox. Für die umgebende Cloud-Umgebung siehe Cloud-Betrieb, für Kubernetes-Cluster Managed Kubernetes; die Einordnung steht unter Managed Services.

02Architektur

Primary fällt aus, eine Replika übernimmt, das Backup liegt woanders

Das Bild zeigt die Patroni-Variante: drei Knoten in drei Verfügbarkeitszonen mit verteiltem Konsensspeicher. Für CloudNativePG auf Kubernetes gilt dasselbe Grundmuster aus Failover, einem vom Knoten getrennten Backup-Repository und dem Restore in einen neuen Cluster.

PostgreSQL-Hochverfügbarkeit und Backup Anwendung greift über eine Verbindungsschicht auf einen Primary mit zwei Replikas in drei Zonen zu; Patroni mit Konsensspeicher steuert das Failover; Backups und WAL-Archiv liegen im getrennten Repository; ein Restore erzeugt einen neuen Cluster. Zone AZone BZone C PrimaryReplikaReplika PostgreSQL + PatroniPostgreSQL + PatroniPostgreSQL + Patroni Konsensspeicher (etcd)Konsensspeicher (etcd)Konsensspeicher (etcd) Streaming-ReplikationStreaming-Replikation Verbindungsschicht Schreib- und Lese-Endpunkt Anwendung Failover: eine Replika wird zum Primary Backup-Repository (pgBackRest) Basis-Backups und WAL-Archiv,getrennt vom Datenbankknoten Neuer Cluster Restore-Test oder PITR, isoliert Backup + WAL-Archivierung Restore
Schematische Referenzarchitektur ohne Zahlenangaben.
PostgreSQL-Hochverfügbarkeit und Backup Anwendung greift über eine Verbindungsschicht auf einen Primary mit zwei Replikas in drei Zonen zu; Patroni mit Konsensspeicher steuert das Failover; Backups und WAL-Archiv liegen im getrennten Repository; ein Restore erzeugt einen neuen Cluster. Anwendung Verbindungsschicht Schreib- und Lese-Endpunkt Zone A Primary PostgreSQL + Patroni Konsensspeicher (etcd) Zone B Replika PostgreSQL + Patroni Konsensspeicher (etcd) Zone C Replika PostgreSQL + Patroni Konsensspeicher (etcd) Failover: eine Replikawird zum Primary Streaming-ReplikationStreaming-Replikation Backup + WAL-Archivierung Backup-Repository (pgBackRest) Basis-Backups und WAL-Archiv,getrennt vom Datenbankknoten Restore Neuer Cluster Restore-Test oder PITR, isoliert
Schematische Referenzarchitektur ohne Zahlenangaben.

03Variantenwahl

Patroni oder CloudNativePG: Die Plattform entscheidet

Beide Varianten sind für Produktion vorgesehen. Welche passt, hängt von Ihrer Plattform, vorhandenem Know-how, Speichermodell und den Anforderungen an die Wiederherstellung ab. Wir legen sie gemeinsam in der Bestandsaufnahme fest.

Vergleich der beiden Betriebsvarianten für Managed PostgreSQL
AspektPatroni auf virtuellen MaschinenCloudNativePG auf Kubernetes
SteuerungPatroni verwaltet den Cluster und wählt über einen verteilten Konsensspeicher (etwa etcd) den Primary.Der Operator beschreibt den Cluster deklarativ: Primary, Replikas, Services, Failover, Rolling-Updates.
AnwendungszugriffEine Verbindungsschicht leitet Anwendungen auf den aktuellen Primary.Services für Lese- und Schreibzugriff.
BackuppgBackRest: vollständige, differenzielle und inkrementelle Backups sowie WAL-Archivierung.Laut CloudNativePG-Dokumentation über das Barman-Cloud-Plugin in Objektspeicher (Base-Backups mit WAL-Archivierung, PITR) oder über Kubernetes Volume Snapshots.
Geeignet, wennSie VM-basierte Infrastruktur haben oder bewusst keine Kubernetes-Abhängigkeit für die Datenbank wollen.Ihre Plattform ohnehin auf Kubernetes basiert, siehe Managed Kubernetes.

04Betriebsumfang

Was im laufenden Betrieb Ihrer Datenbanken passiert

  • Cluster mit Primary und Replikas

    Aufbau und Betrieb auf virtuellen Maschinen (Patroni) oder auf Kubernetes (CloudNativePG).

  • Failover mit Übung

    Automatische Umschaltung bei Ausfall des Primary, dazu regelmäßige Failover-Tests.

  • Restore auch als Klon

    Wiederherstellung aus Backups, einschließlich Klon-Wiederherstellung zur Prüfung in einer getrennten Umgebung.

  • Rückkehr zu einem Zeitpunkt

    Point-in-Time-Recovery auf Basis archivierter WAL-Segmente: zurück auf einen gewählten Zeitpunkt vor einem Fehler.

  • Performance im Blick

    Überwachung von Abfragelaufzeiten, Locks, Verbindungen und Speicher; Hinweise zu Indizes und Parametern; Vacuum-Verhalten und Bloat-Beobachtung.

  • Security im Datenbankbetrieb

    Rollen- und Rechtekonzept, verschlüsselte Verbindungen, Patching, Härtung der Konfiguration, Zugriffsprotokolle. Vertiefung unter Cloud Security.

05Monitoring

Alarm auf Datenbankebene, Betriebsbericht jeden Monat

Prometheus erfasst Verfügbarkeit, Replikationsverzug, Verbindungen, Speicher, langsame Abfragen, WAL-Archivierung und Backup-Status. Alarmiert wird auf Datenbankebene, nicht erst, wenn die Anwendung klagt.

Der Betriebsbericht fasst zusammen, was in der Datenbankplattform passiert ist:

  • Incidents und Changes
  • Patches
  • Backup- und Restore-Ergebnisse
  • Kapazitätstrends
  • Empfehlungen
Aufgeklappter Laptop mit Code-Editor auf einem Holztisch, daneben eine Brille

06Restore-Verfahren

Restore-Test in sieben Schritten: vom Backup zum Nachweis

Ein Backup gilt erst dann als belegt, wenn ein Restore gelungen ist. So gehen wir regelmäßig und nach größeren Änderungen vor.

  1. 01

    Ziel festlegen

    Zeitpunkt oder Ereignis, auf den wiederhergestellt werden soll (zum Beispiel kurz vor einer fehlerhaften Änderung), und Umfang.

  2. 02

    Isolierte Umgebung

    Wiederherstellung in einer getrennten Umgebung oder einem neuen Cluster, nie über die Produktion drüber.

  3. 03

    Wiederherstellung

    Basis-Backup einspielen, WAL bis zum Zielzeitpunkt abspielen.

  4. 04

    Konsistenz prüfen

    Datenbank startet sauber, Integritäts- und Plausibilitätsprüfungen laufen, Stichproben der Anwendungsdaten.

  5. 05

    Anwendungstest

    Wo möglich, eine Testinstanz der Anwendung gegen die wiederhergestellte Datenbank.

  6. 06

    Messen und festhalten

    Dauer der Wiederherstellung und Befunde dokumentieren; daraus ergibt sich, ob die vereinbarten Ziele erreichbar sind.

  7. 07

    Abweichungen beheben

    Befunde abstellen und das Runbook anpassen.

Replikation ersetzt kein Backup

Ein Fehler in den Daten wird mitrepliziert. Replikation schützt vor dem Ausfall eines Knotens. Vor Datenfehlern und versehentlichem Löschen schützen nur Backup und PITR. Das Ergebnis jedes Restore-Tests steht als Testprotokoll in Ihrem Monatsbericht.

07Wiederherstellungsziele

RPO und RTO: Wovon die Werte abhängen

Backups und WAL-Archiv liegen in einem vom Datenbankknoten getrennten Speicher. Konkrete Ziele für Datenverlust (RPO) und Wiederherstellungszeit (RTO) vereinbaren wir je Datenbank im Vertrag und weisen sie per Restore-Test nach.

Einflussgrößen auf RPO und RTO
ZielWird vor allem bestimmt durch
RPO: wie viel Datenverlust ist tolerierbarWAL-Archivierung, Backup-Rhythmus und Replikationsmodus (synchron oder asynchron)
RTO: wie lange dauert die WiederherstellungDatenvolumen, Geschwindigkeit des Backup-Speichers, Topologie und Automatisierungsgrad des Failovers
NachweisDauer und Befund des Restore-Tests, festgehalten im Monatsbericht

Ob die vereinbarten Ziele für Ihr System erreichbar sind, belegt erst der Restore-Test mit Ihrer Datenbank.

08Wartung

Patches ohne Drama: Replikas zuerst, dann Switchover

Minor-Updates spielen wir im Wartungsfenster als Rolling-Update ein: zuerst auf den Replikas, dann Umschaltung (Switchover), dann der frühere Primary. Major-Upgrades sind eigene, geplante Vorhaben mit Test auf einer Kopie, Rückfallplan und Abnahme. Dringende Sicherheitsupdates stimmen wir mit Ihnen außerhalb des Regelzyklus ab.

Changes laufen als Konfiguration im Code: Review, Einstufung, Freigabe durch Sie, Umsetzung durch SKAFFON, Verifikation, Rückfallplan vorher.

Incidents folgen einem festen Ablauf: Alarm oder Meldung, Priorisierung, Eingrenzung, Behebung oder Workaround (zum Beispiel manueller Failover), Statusinformation, Abschluss mit Ihrer Bestätigung, bei schwerwiegenden Störungen Ursachenanalyse.

Entwickler von hinten an einem Arbeitsplatz mit Monitor und Laptop, auf beiden Bildschirmen Code

09Verantwortung

Wer verantwortet was: Datenbankplattform bei uns, Daten bei Ihnen

R = führt aus, A = trägt die Ergebnisverantwortung, C = wird konsultiert, I = wird informiert. Standardaufteilung, vertraglich anpassbar.

Verantwortungsmatrix (RACI) für Managed PostgreSQL
TätigkeitSKAFFONKunde
Cluster-Topologie und Konfiguration betreibenR/AC
Minor-Updates und SicherheitspatchesRA (Freigabe Fenster)
Major-Upgrade planen und durchführenRA
Monitoring und Alarmierung betreibenR/AI
Störung auf Datenbank-/Cluster-Ebene (Failover, Replikation, Speicher)R/AI
Backup einrichten, WAL-Archivierung betreibenR/AC
Restore-Tests durchführenR/AC
Wiederherstellung im Ernstfall durchführenRA (Entscheidung über Zeitpunkt)
Schema, Migrationen, DatenmodellCR/A
Langsame Abfragen der Anwendung ändernCR/A
Index- und ParameterempfehlungenRA (Freigabe)
Datenbankrollen technisch umsetzenRA
Fachliche ZugriffsentscheidungCR/A
Datenklassifizierung, Löschfristen, DatenschutzCR/A
Kapazitätsplanung, BerichteRA

Der Inhalt der Daten und die Anwendung bleiben in Ihrer Verantwortung. Wir verantworten den Betrieb der Datenbankplattform.

10Servicezeiten

Rund um die Uhr erreichbar, Zahlen erst im Vertrag

Betrieb und Support laufen 24/7. Störungen werden nach Priorität eingestuft, etwa Datenbank nicht erreichbar, Replikation gestört oder Leistungsabfall. Die Prioritätsstufen P1 bis P4 und die Bedeutung der Reaktionszeit stehen im Servicelevel-Rahmen; Reaktionszeiten und Eskalationskette legt der Vertrag fest. Kontaktwege testen wir im Onboarding mit Ihnen.

Verfügbarkeitsziele vereinbaren wir je Plattform; sie hängen von der Topologie (Anzahl Knoten, Verteilung über Zonen), dem Replikationsmodus und den Wartungsfenstern ab. Kennzahlen, Messmethode und Folgen bei Abweichung werden vertraglich vereinbart; die Systematik beschreibt der Servicelevel-Rahmen.

11Einstieg

Was wir in der Bestandsaufnahme von Ihrer Datenbank wissen müssen

Wir starten mit einer Bestandsaufnahme und legen daraus Umfang, RACI und Berichtsrhythmus fest. Danach folgen Zielarchitektur, Aufbau oder Übernahme des Clusters, Monitoring und Backup, der erste Restore-Test und der Übergang in den Regelbetrieb.

  • Version, Größe und Last der Datenbank
  • Genutzte Extensions
  • Bestehende Backups
  • Bekannte Risiken
  • Zahl der Datenbanken und Cluster
  • Datenvolumen und dessen Wachstum
  • Hochverfügbarkeits- und Wiederherstellungsziele
  • Zahl der Umgebungen, Plattform (VM oder Kubernetes) und Änderungsvolumen

12Abgrenzung

Wann ein Anbieter-Dienst besser passt als unser PostgreSQL-Betrieb

Vorab die Grenzen des Service, damit Sie früh wissen, ob er zu Ihrer Datenbank passt.

Das übernehmen wir

  • Betrieb der PostgreSQL-Plattform: Cluster, Failover, Backup, Restore, Patching, Monitoring
  • Übernahme einer bestehenden Datenbank nach Bestandsaufnahme von Version, Konfiguration, Backups und Risiken
  • Datenmigration bei Neuaufbau, siehe Datenbankmigration und den Bereich Daten

Dafür ist dieser Service nicht gedacht

  • Sie suchen einen reinen Datenbank-Hosting-Dienst von der Stange mit Selbstbedienung; hier ist ein Anbieter-Dienst oft passender.
  • Wir sollen Anwendungsabfragen und Schema verantworten, ohne die Anwendung zu kennen.
  • Ihre Datenbank ist nicht PostgreSQL.
  • Sie wollen keinen Zugriff auf die Umgebung und keine Restore-Tests zulassen.

13

Häufige Fragen

Reicht Replikation als Backup?

Nein. Replikation schützt vor Ausfall eines Knotens, nicht vor Datenfehlern oder versehentlichem Löschen. Dafür sind Backup und PITR zuständig.

Patroni oder CloudNativePG?

Das hängt von Ihrer Plattform ab: auf VMs meist Patroni, auf Kubernetes CloudNativePG. Wir entscheiden das mit Ihnen nach der Bestandsaufnahme.

Können Sie eine bestehende Datenbank übernehmen?

Ja, nach einer Bestandsaufnahme von Version, Konfiguration, Backups und Risiken.

Welche Datenbanken sollen wir übernehmen?

Beschreiben Sie uns Ihre Datenbanken und Anforderungen. Rückfragen vorab beantworten wir über den Kontakt.