Home → PostgreSQL Datenbank → PostgreSQL Cluster verwalten
Im Jahre 1996 wurde ein DBMS-Projekt namens “Postgres95” auf den uns heute bekannten Namen “PostgreSQL” getauft. In den folgenden Jahren erhielt PostgreSQL mit jedem neuen Release neben Sicherheitsupdates auch neue Features.
Seit Version 9.0 beherrscht PostgreSQL Streaming Replication und mit dem Release der Version 9.1 dieser Replikation auch synchron. Ab Version 9.2 konnten die Replikationsverbindungen zusätzlich auch kaskadiert werden, was den Aufbau von komplexeren Cluster-Strukturen ermöglicht.
Selbstverständlich hast du die Möglichkeit, die Verwaltung deiner PostgreSQL Cluster händisch zu erledigen. Aber eine wirklich gute Option ist hier der Einsatz des Tools repmgr. Der repmgr ist ein Werkzeug zum Erstellen und Orchestrieren von PostgreSQL Clustern und kann mit jeder aktuell unterstützten PostgreSQL Version eingesetzt werden.
Mit diesem praktischen Werkzeug können Cluster von beliebiger Größe angelegt und verwaltet werden, inklusive kaskadierter Standby-Instanzen. Zusätzlich können Standby-Instanzen zum Master promoted und die Replikationsverbindungen zwischen einzelnen Instanzen geschwenkt werden. Dabei greift repmgr ausschließlich auf vorhandene Funktionen und Werkzeuge von PostgreSQL zurück.
repmgr unterstützt auch bei der Re-Integration von ehemaligen Master-Instanzen in einen Cluster und dies sogar nach Split-Brain Szenarien – entsprechende PostgreSQL-Konfiguration vorausgesetzt. Ebenso ist es natürlich auch möglich, einzelne Instanzen wieder aus dem Cluster heraus zu lösen.
Neben dem manuellen Switchover ist der automatische Failover ein weiteres nettes Feature, welches den repmgr zu einem vielseitigen Werkzeug macht. Bei Bedarf und als Versicherung gegen Split-Brain Szenarien bei Störung der Netzwerkverbindung zwischen den Instanzen kann eine sogenannte “Witness-Instanz” eingesetzt werden. Diese kann die Failover-Entscheidung bestätigen oder ablehnen.
repmgr greift nur auf die systemd-Services für die PostgreSQL-Instanzen und die jeweilige Master- oder Standby-Konfiguration zu. Dadurch können innerhalb des Clusters die meisten Parameter weiter individuell festgelegt werden. Beispielsweise können verschiedene Replikationsverbindungen innerhalb des selben Clusters synchron und asynchron betrieben werden. Damit behält man auch hier die erforderliche Flexibilität.
Trotz aller Möglichkeiten und der zahlreichen Funktionen die sonst nur große kommerzielle Lösungen bieten, bleibt das Einrichten und Bedienen vergleichsweise einfach. Das macht repmgr (für uns) zum bevorzugten Werkzeug für Master-Standby-Cluster bei PostgreSQL Datenbanken.
Du interessierst dich für andere Artikel rund um dieses Thema? Dann findest du hier weitere Posts rund um PostgreSQL Datenbanken oder auch HA Technologien wie Cluster, Failsafe oder Failover.
Share this article