Der sichere Ansatz besteht darin, ein stufenweises Upgrade mit nativen Dumps, Speicher-Snapshots, einer isolierten Wiederherstellungsprobe und einem klar begrenzten Rollback-Punkt als eine Abfolge überprüfbarer Gates zu behandeln, nicht als einzelnen Befehl.
Bei einer containerisierten PostgreSQL- oder MariaDB-Datenbank auf einem Heimserver besteht das praktische Risiko darin, dass eine selbst gehostete Datenbank ein Versionsupgrade benötigt, ohne logische Objekte oder einen gangbaren Rollback-Pfad zu verlieren. Erfassen Sie die aktuelle Identität und den Wiederherstellungspunkt, beginnen Sie mit dem am wenigsten invasiven Unterscheidungstest, werten Sie Ergebnisse mit Erfolg oder Fehlschlag aus, bevor Sie eine weitere Variable ändern, und stoppen Sie, sobald der Speicher instabil wird oder die einzige wiederherstellbare Kopie offengelegt würde. Der folgende Ablauf endet erst, wenn die ursprüngliche Arbeitslast erfolgreich ausgeführt wird oder die Beweislage eine Eskalationsgrenze erreicht.
Kompatibilität und Rollback vor dem Backup definieren
Erfassen Sie die Datenbank-Engine und die genaue Quellversion, die Zielversion, die Anwendungsversion, Erweiterungen oder Plugins, den Zeichensatz, Authentifizierungsregeln, geplante Jobs und die verfügbare Ausfallzeit. Lesen Sie sowohl die Upgrade-Hinweise der Anwendung als auch den Datenbankpfad, da eine Anwendungsmigration alte Binärdateien mit dem neuen Schema inkompatibel machen kann.
Für Major-Upgrades sind häufig ein logischer Dump und eine Wiederherstellung oder ein unterstütztes Migrationstool erforderlich, statt das alte Datenverzeichnis in ein neues Image einzubinden. Ein unabhängiger Compose-Datenbank-Major-Upgrade-Workflow führt durch ein Compose-basiertes PostgreSQL-Major-Upgrade und zeigt, warum der alte Container und das alte Volume vom Ziel getrennt bleiben müssen.
Notieren Sie jetzt die Rollback-Frist und die Auslöser: fehlgeschlagene Integritätsprüfungen, fehlende Rollen oder Erweiterungen, Anwendungsfehler oder inakzeptable Leistung. Ein Rollback bleibt nur so lange möglich, bis Produktionsschreibvorgänge auf dem Ziel beginnen, sofern kein umgekehrter Datenmigrationsplan getestet wurde.
Zwei unabhängige Wiederherstellungspunkte erstellen
Führen Sie das native logische Backup der Engine mit globalen Objekten aus, sofern zutreffend, und speichern Sie anschließend den Befehl, die Version, den Exit-Status, das Manifest und die Prüfsumme. Vergewissern Sie sich, dass Benutzer, Berechtigungen, Erweiterungen, Schemas, geplante Jobs und große Objekte enthalten sind, statt anzunehmen, dass ein einzelner Datenbankdump jede serverweite Abhängigkeit enthält.
Erstellen Sie nach der Bestätigung, dass sich die Datenbank in einem unterstützten Zustand befindet, einen koordinierten Snapshot oder eine Kopie des angehaltenen Datenbank-Volumes. Der logische Dump bietet Portabilität und eine Prüfung auf Objektebene; die Speicherkopie bewahrt einen exakten Rollback-Punkt der alten Version. Keine der beiden Kopien darf die andere überschreiben.
Verwenden Sie die ZimaSpace-Prüfliste zur Überprüfung, ob die Vollständigkeitsprüfliste für Datenbank-Backups erfüllt ist. Das Backup-Gate ist erst bestanden, wenn der Dump lesbar ist, der Wiederherstellungspunkt des Speichers identifiziert wurde und beide außerhalb des zu aktualisierenden Volumes gespeichert sind.
Migration in einem isolierten Zielsystem proben
Starten Sie die Zieldatenbank auf einem separaten Volume und Port, installieren Sie die erforderlichen Erweiterungen, stellen Sie das logische Backup wieder her und speichern Sie jede Warnung. Eine Percona-Anleitung zum Upgradepfad mit logischem Dump und Wiederherstellung hebt die Dump-und-Wiederherstellungssequenz sowie die Notwendigkeit hervor, Tools zu verwenden, die zum vorgesehenen PostgreSQL-Upgradepfad passen.
Verbinden Sie eine wegwerfbare Anwendungsinstanz mit der wiederhergestellten Datenbank. Testen Sie Anmeldung, Lese- und Schreibvorgänge, Hintergrundjobs, Suche, Anhänge, Zeitzonen und einen Neustart. Vergleichen Sie Zeilenanzahlen und wichtige Aggregate, statt sich allein auf einen erfolgreichen Exit-Code der Wiederherstellung zu verlassen.
Fahren Sie nicht fort, wenn Erweiterungen nicht verfügbar sind, Änderungen an der Sortierung ungeklärt bleiben, Migrationen fehlschlagen oder die Wiederherstellungszeit das Wartungsfenster überschreitet. Beheben Sie die Probleme in der Probe und erstellen Sie einen neuen Dump; die Produktion ist nicht der Ort, um Inkompatibilitäten der Zielversion zu entdecken.
Schreibvorgänge umstellen und den Rollback sauber halten
Versetzen Sie das System in den Wartungsmodus, stoppen Sie Anwendungsschreibvorgänge und Jobs, bestätigen Sie, dass aktive Verbindungen abgebaut sind, und erstellen Sie anschließend den finalen Dump oder das unterstützte Delta. Stellen Sie dieses in einem sauberen Zielsystem wieder her, führen Sie Integritäts- und Objektprüfungen aus, aktualisieren Sie die Anwendungsverbindung und starten Sie die Dienste in Abhängigkeitsreihenfolge.
Beobachten Sie Fehlerraten, Sperren, Jobausführung, Backups und echte Anwendungstransaktionen. Halten Sie die alte Datenbank mit ihrem ursprünglichen Volume und Image-Digest angehalten und schreibgeschützt. Lassen Sie niemals beide Datenbanken unter derselben Anwendungsidentität unabhängige Schreibvorgänge akzeptieren.
Erklären Sie den Erfolg erst, wenn die Anwendung, der native Backup-Job, der Neustart und eine Testwiederherstellung aus der neuen Version erfolgreich sind. Wenn vor der Schreibgrenze ein Rollback-Auslöser eintritt, verweisen Sie die Anwendung zurück auf die bewahrte alte Instanz; nach neuen Schreibvorgängen stoppen Sie und verwenden den dokumentierten Abgleichsplan, statt so zu tun, als würde ein einfacher Neustart die Daten zurücksetzen.
Support & Tipps
Mehr zum Lesen

NFS-Migrationscheckliste für umbenannte Datensätze und stabile Dateihandles
Gehen Sie davon aus, dass sich Dateihandles ändern können, wenn sich die Speicheridentität ändert. Halten Sie Clients an, schalten Sie den Export gezielt um,...

Leitfaden zur Fehlerbehebung bei SMB-Clients für Windows, macOS und Linux
Verwende auf jedem Client denselben Server, dasselbe Konto, dieselbe Freigabe und denselben Dateivorgang, damit Fehler bei Erkennung, Anmeldedaten, Richtlinien und Speicher nicht miteinander vermischt...

Checkliste zur Rotation von Geheimnissen für Home-Server-Apps, Datenbanken und Backups
Behandle die Rotation wie eine Abhängigkeitsmigration: Erfasse jeden Verbraucher, überschneide die Anmeldedaten, wo möglich, überprüfe den neuen Wert und widerrufe ihn anschließend; teste danach...

