Ein ärgerlicher PostgreSQL-Bug bei der Erstellung von logischen Replikationsslots und wie wir ihn behoben haben

2025-07-15
Ein ärgerlicher PostgreSQL-Bug bei der Erstellung von logischen Replikationsslots und wie wir ihn behoben haben

Das ClickPipes-Team stieß auf einen rätselhaften Bug bei der Erstellung von logischen Replikationsslots in PostgreSQL: Eine Abfrage, die nur wenige Sekunden dauern sollte, dauerte Stunden und konnte nicht beendet werden. Untersuchungen ergaben einen Postgres-Bug, bei dem auf Lese-Replikaten die Erstellung eines logischen Replikationsslots in einer langen Sleep-Schleife hängen blieb, während auf das Ende von Primärtransaktionen gewartet wurde, was ein Unterbrechen unmöglich machte. Das Team reichte einen Patch an die Postgres-Community ein, der eine Interrupt-Prüfung hinzufügte und das Problem effektiv löste. Dieser Fall verdeutlicht, wie selbst ausgereifte Datenbanksysteme unerwartete Randfälle aufweisen können und welche wichtige Rolle die Zusammenarbeit der Open-Source-Community bei deren Behebung spielt.

Entwicklung Logische Replikation