Ich muss ein Upgrade von PostgreSQL 9.2 auf 9.6 durchführen. Im Folgenden sind die Herausforderungen aufgeführt, vor denen ich stehe:
Da wir ein Streaming-Replikations-Setup haben und PostgreSQL im Streaming-Replikationsmodus kein Upgrade der unteren auf die obere Version unterstützt, muss ich beim Upgrade des Masters die Slaves neu erstellen, was 3 Stunden dauert. Ich habe nicht die Zeit zu verlieren. Zu jedem Zeitpunkt benötigen wir einen Slave und einen Master. Gibt es eine andere Möglichkeit, ein Upgrade durchzuführen, ohne die Slaves mithilfe der Streaming-Replikation neu erstellen zu müssen?
Um eine logische Replikation zu erstellen, haben wir uns überlegt, Slony zu verwenden, aber Slony hat einige Einschränkungen, da es nicht automatisch repliziert:
- Änderungen an großen Objekten (BLOBS)
- Änderungen durch DDL-Befehle
- Änderungen an Benutzern und Rollen
... und unsere Anwendung verfügt über fortlaufende Erstellungsbefehle. Wir können also keinen Slony verwenden.
Bitte schlagen Sie etwas vor, um eine Neuerstellung des Slaves zu vermeiden und ein Upgrade mit minimaler Ausfallzeit und einem Master und einem Slave durchzuführen.