Streaming Replication: nach Einlesen in slave wal-files automatisch löschen

Hallo zusammen,

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 im Voraus,

skasab2s

Auf was steht wal_keep_segments?

Ach, jetzt les ich: du verwendest archive_command? Da hat PG dann keinen Einfluß mehr, da mußt eher mit CRON oder so ran.


Andreas

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?

Vielen Dank.

Ah soo, betrifft den Slave.

Mmmh. Ich mach es einklich da ohne, einfach nur base-backup und dann SR. Dazu halt reichlich WAL auf dem Server vorhalten.

Die Dateien in dem Falle bei Dir können einklich gleich weg, wenn der Slave soweit ist (Log guggen)

Andreas