31 Januar 2026

Wie richtet man PostgreSQL Streaming Replikation ein?

PostgreSQL Streaming-Replikation ermöglicht die kontinuierliche Übertragung von Datenänderungen vom Primärserver zu einem oder mehreren Standby-Servern in Echtzeit. Diese Technologie sorgt für Hochverfügbarkeit und verbesserte Performance durch Lastverteilung. Die Einrichtung erfordert spezielle Konfigurationen am Primär- und Standby-Server sowie entsprechende Netzwerkverbindungen.

Was ist PostgreSQL Streaming-Replikation und warum ist sie wichtig?

PostgreSQL Streaming-Replikation ist eine asynchrone oder synchrone Methode zur kontinuierlichen Übertragung von Write-Ahead-Log-Einträgen (WAL) vom primären Datenbankserver zu einem oder mehreren Standby-Servern. Diese Technologie gewährleistet Datensicherheit und ermöglicht Hochverfügbarkeitslösungen für kritische Unternehmensanwendungen.

Im Gegensatz zu anderen Replikationsarten wie der logischen Replikation arbeitet die Streaming-Replikation auf Byte-Ebene und überträgt physische Änderungen direkt. Dies macht sie besonders effizient und zuverlässig für komplette Datenbankinstanzen.

Die wichtigsten Vorteile umfassen:

  • Minimale Ausfallzeiten durch automatisches Failover
  • Lastverteilung durch Read-Only-Zugriffe auf Standby-Server
  • Kontinuierliche Datensicherung ohne Performance-Einbußen
  • Disaster Recovery mit schneller Wiederherstellung

Typische Anwendungsszenarien in Unternehmen sind E-Commerce-Plattformen, Finanzanwendungen und kritische Geschäftssysteme, bei denen Datenverlust oder längere Ausfälle erhebliche wirtschaftliche Schäden verursachen würden.

Welche Voraussetzungen müssen für PostgreSQL Streaming-Replikation erfüllt sein?

Für eine erfolgreiche PostgreSQL Streaming-Replikation benötigen Sie kompatible PostgreSQL-Versionen auf Primär- und Standby-Server, ausreichende Hardware-Ressourcen und eine stabile Netzwerkverbindung zwischen den Servern. Die PostgreSQL-Versionen sollten identisch sein oder der Standby-Server eine neuere Version verwenden.

Hardware-Anforderungen beinhalten ausreichend Speicherplatz für WAL-Archive, genügend RAM für Buffer-Pools und eine schnelle Netzwerkverbindung mit niedriger Latenz. Die Bandbreite sollte den erwarteten WAL-Traffic bewältigen können.

Die Netzwerk-Konfiguration erfordert:

  • Stabile TCP/IP-Verbindung zwischen Primär- und Standby-Server
  • Offene Ports für die PostgreSQL-Kommunikation (Standard: 5432)
  • Ausreichende Bandbreite für die WAL-Übertragung
  • Niedrige Netzwerk-Latenz für optimale Performance

Sicherheitsaspekte umfassen die Einrichtung von SSL-Verschlüsselung für die Replikationsverbindung, spezielle Benutzerkonten mit minimalen Berechtigungen und Firewall-Konfigurationen zum Schutz der Datenbankserver.

Wie konfiguriert man den Primärserver für Streaming-Replikation?

Die Primärserver-Konfiguration beginnt mit der Anpassung der postgresql.conf, um die WAL-Archivierung und Replikation zu aktivieren. Wichtige Parameter sind wal_level = replica, max_wal_senders und wal_keep_segments für die Aufbewahrung von WAL-Dateien.

Schritt-für-Schritt-Konfiguration der postgresql.conf:

  1. wal_level = replica (aktiviert Replikations-WAL-Einträge)
  2. max_wal_senders = 3 (Anzahl gleichzeitiger Standby-Verbindungen)
  3. wal_keep_segments = 64 (WAL-Segmente für Standby-Server vorhalten)
  4. archive_mode = on (aktiviert WAL-Archivierung)
  5. listen_addresses = '*' (erlaubt externe Verbindungen)

Die pg_hba.conf muss um Replikationsberechtigungen erweitert werden. Fügen Sie eine Zeile hinzu: host replication repuser [standby-ip]/32 md5 für eine sichere Authentifizierung.

Erstellen Sie einen Replikationsbenutzer mit: CREATE ROLE repuser WITH REPLICATION LOGIN PASSWORD 'sicheres_passwort'; Dieser Benutzer benötigt nur Replikationsrechte, keine weiteren Datenbankberechtigungen.

Nach den Konfigurationsänderungen starten Sie PostgreSQL neu, um die neuen Einstellungen zu aktivieren.

Wie richtet man den Standby-Server für die PostgreSQL-Replikation ein?

Die Standby-Server-Einrichtung beginnt mit einem Base-Backup vom Primärserver mittels des Tools pg_basebackup. Dieser Befehl erstellt eine vollständige Kopie der Primärdatenbank und konfiguriert automatisch die grundlegenden Replikationseinstellungen.

Führen Sie pg_basebackup aus: pg_basebackup -h master-ip -D /var/lib/postgresql/data -U repuser -P -W -R. Der Parameter -R erstellt automatisch die Datei standby.signal und eine grundlegende Recovery-Konfiguration.

Für PostgreSQL 12+ erstellen Sie eine standby.signal-Datei im Datenverzeichnis. Für ältere Versionen konfigurieren Sie die recovery.conf mit folgenden Parametern:

  • standby_mode = 'on'
  • primary_conninfo = 'host=master-ip port=5432 user=repuser password=passwort'
  • trigger_file = '/tmp/postgresql.trigger.5432'

Die erste Synchronisation startet automatisch beim PostgreSQL-Start auf dem Standby-Server. Überwachen Sie die Logs auf Verbindungsfehler oder Authentifizierungsprobleme.

Testen Sie die Verbindung durch Überprüfung der PostgreSQL-Logs und die Ausführung von SELECT-Abfragen auf dem Standby-Server im Read-Only-Modus.

Wie überwacht und testet man PostgreSQL Streaming-Replikation?

Monitoring-Tools wie pg_stat_replication auf dem Primärserver und pg_stat_wal_receiver auf dem Standby-Server zeigen den aktuellen Replikationsstatus an. Diese Views enthalten wichtige Informationen über Verbindungsstatus, WAL-Position und die Verzögerung (Lag) zwischen den Servern.

Wichtige Monitoring-Befehle:

  • SELECT * FROM pg_stat_replication; (auf dem Primärserver)
  • SELECT * FROM pg_stat_wal_receiver; (auf dem Standby-Server)
  • SELECT pg_last_wal_receive_lsn(), pg_last_wal_replay_lsn(); (Lag-Überwachung)

Die Lag-Überwachung ist entscheidend für die Performance-Bewertung. Hohe Lag-Werte deuten auf Netzwerkprobleme, unzureichende Hardware-Ressourcen oder eine zu hohe Schreiblast hin.

Failover-Tests sollten regelmäßig in Wartungsfenstern durchgeführt werden. Erstellen Sie eine Trigger-Datei auf dem Standby-Server, um die Promotion zum neuen Primärserver zu testen. Dokumentieren Sie alle Schritte für Notfallsituationen.

Häufige Probleme sind Netzwerkunterbrechungen, volle Festplatten durch die Ansammlung von WAL-Dateien und Authentifizierungsfehler. Performance-Optimierung erfolgt durch Anpassung von wal_buffers, checkpoint_segments und shared_buffers basierend auf der Arbeitsbelastung.

Wie unterstützt credativ® bei PostgreSQL Streaming-Replikation?

credativ® bietet über unser PostgreSQL Competence Center umfassende PostgreSQL-Replikationsservices von der professionellen Einrichtung bis zum kontinuierlichen 24/7-Support. Unsere PostgreSQL-Spezialisten konfigurieren Ihre Streaming-Replikation nach bewährten Praktiken und optimieren sie für Ihre spezifischen Anforderungen.

Unsere konkreten Services umfassen:

  • Professionelle Einrichtung und Konfiguration von Primär- und Standby-Servern
  • 24/7-Support mit direktem Zugang zu PostgreSQL-Experten
  • Performance-Monitoring und kontinuierliche Optimierung
  • Disaster-Recovery-Strategien und Failover-Planung
  • Schulungen für Ihr IT-Team zur eigenständigen Verwaltung
  • Regelmäßige Gesundheitschecks und Wartung

Unser deutsches Support-Team arbeitet ohne Callcenter-Zwischenschaltung und bietet direkten Kontakt zu festangestellten Open-Source-Spezialisten. Sie erreichen uns per Telefon, Ticketsystem oder E-Mail über unseren professionellen Support.

Kontaktieren Sie uns über unser Kontaktformular für eine unverbindliche Beratung zu Ihrer PostgreSQL Streaming-Replikation. Unsere Experten analysieren Ihre Anforderungen und entwickeln eine maßgeschneiderte Lösung für Ihre Hochverfügbarkeits- und Performance-Ziele.

Ähnliche Beiträge

Kategorien: credativ® Inside

über den Autor

Peter Dreuw

Head of Sales & Marketing

zur Person

Peter Dreuw arbeitet seit 2016 für die credativ GmbH und ist seit 2017 Teamleiter. Seit 2021 ist er Teil des Management-Teams als VP Services der Instaclustr. Mit der Übernahme durch die NetApp wurde seine neue Rolle "Senior Manager Open Source Professional Services". Im Rahmen der Ausgründung wurde er Mitglied der Geschäftsleitung als Prokurist. Sein Aufgabenfeld ist die Leitung des Vertriebs und des Marketings. Er ist Linux-Nutzer der ersten Stunden und betreibt Linux-Systeme seit Kernel 0.97. Trotz umfangreicher Erfahrung im operativen Bereich ist er leidenschaftlicher Softwareentwickler und kennt sich auch mit hardwarenahen Systemen gut aus.

Beiträge ansehen


Beitrag teilen: