Meine Schritte:
- Führen Sie das Finale
pg_dumpallauf einem Server ausprod-server-old prod-server-oldFür immer herunterfahren .- Kopieren Sie die Ausgabe auf einen anderen Server (
prod-server-new) - Stellen Sie dort die Datenbank wieder her.
- Der gesamte Verkehr geht
prod-server-newjetzt
Wie kann ich Änderungen an der Datenbank während pg_dumpall(zwischen Schritt 1 und Schritt 2) vermeiden, damit Änderungen während dieser Zeit nicht verloren gehen können?
In meinem Fall ist es 100% OK, eine kleine Ausfallzeit zu haben.
Es gibt mehrere Datenbanken im "Cluster" (übrigens mag ich das Wort "Cluster" nicht. Ich denke, die meisten Leute denken, ein "Cluster" ist eine Gruppe von mehreren Computern, aber in diesem Fall bedeutet dies einen Postgres-Server, der hält mehrere Datenbanken).
Meine Frage wurde als mögliches Duplikat für "Postgres-Datenbank vorübergehend schreibgeschützt machen (zum Durchführen von Volume-Snapshots)" markiert. Ich denke nicht, dass es ein Duplikat ist, da es in meinem Fall anders ist, da ich nicht nach einem temporären schreibgeschützten Zustand frage.