ich habe (wie in Streaming Replication - PostgreSQL wiki beschrieben) Streaming Replikation auf einem Produktivsystem eingerichtet. Ich verwende Version 9.2.2 von postgresql. Alles funktioniert reibungslos, der Master schreibt wie üblich archive Dateien in das Archivverzeichnis und ein Slave liest sie ein.
Und jetzt kommt meine Frage: gibt es eine Möglichkeit, die archive Dateien zu löschen direkt nachdem sie vom Slave gelesen wurden? Falls sich das Problem nicht mittels postgres-Konfigiration lösen lässt, könnte ich periodisch die ältesten Dateien (z.B. diejenigen, die älter als 1 Woche alt sind) manuell löschen?
Vielen Dank für die Antwort. In recovery.conf vom Slave steht:
restore_command = 'cp /data/archive_mydb/%f “%p”'
Könnte man sie nicht folgendermassen erweitern:restore_command = 'cp /data/archive_mydb/%f “%p”; rm -rf/data/archive_mydb/%f_'
_
damit man die Datei gleich nach dem Einlesen löscht?Oder wird dieses Kommando nur dann ausgeführt, falls der Master ausfällt und als Folge der Slave zum neuen Master wird?