2013-10-16 9 views
6

È consentito e/o ragionevole configurare un server master di PostgreSQL 9.2 su NON archiviato ma per eseguire la replica di streaming. È configurato come mostrato di seguito:In PostgreSQL 9.2, è richiesta l'archiviazione per la replica streaming?

wal_level = hot_standby 
archive_mode = off 

Il server "slave" (hot standby) può essere configurato per archiviare i segmenti WAL?

wal_level = hot_standby 
hot_standby = on 
archive_mode = on 

Ciò consentirebbe il traffico di rete di archiviazione sul server master da tagliare a metà (replica ma non l'archiviazione). Questo sembra ragionevole e la documentazione sembra supportare questa configurazione, ma preferirei un po 'di rassicurazione sul fatto che abbiamo una buona configurazione.

risposta

7

Da documentation (forte aggiunto da me):

Se si utilizza lo streaming di replica senza basata su file di archiviazione continua, è necessario impostare wal_keep_segments nel master ad un valore abbastanza alto per garantire i vecchi segmenti WAL non vengono riciclati troppo presto, mentre lo standby potrebbe ancora aver bisogno di essere recuperati. Se lo standby cade troppo, deve essere reinizializzato da un nuovo backup di base. Se si imposta un archivio WAL accessibile dallo standby, wal_keep_segments non è necessario poiché lo standby può sempre utilizzare l'archivio per recuperare.

Quindi, dalla mia comprensione, quando si eseguono troppe transazioni in esecuzione, lo slave potrebbe avere un po 'di tempo difficile da sincronizzare. Soprattutto se il master rimuove i file WAL prima che lo slave ottenga veramente ciò che era dentro. Senza archive_mode sul master i file WAL possono essere cancellati senza lasciare alcun modo di riaverli.

Se si mantiene l'archiviazione WAL in posizione e si aggiunge lo streaming su una struttura hot-standby-con-archivi funzionante, ciò non può accadere in quanto lo slave può sempre accedere al WAL archiviato e riprenderà le transazioni non sincronizzate non appena l'inferiore l'attività sul flusso lo consente. Senza l'accesso all'archivio, il rischio è chiaramente quello di perdere l'integrità dello schiavo dopo alcune cose davvero pesanti.

Problemi correlati