6

Sto cercando di ottenere la replica di streaming in esecuzione su Postgresql 9.0. Sto seguendo i passaggi come indicato nel link: http://brandonkonkle.com/blog/2010/oct/20/postgres-9-streaming-replication-and-django-balanc/Errore dall'archiviazione di Postgresql 9.0 durante la configurazione della replica di hot streaming

Quando provo a eseguire un comando di archiviazione su postgresql, ricevo un avviso che mi chiede di attendere all'infinito. Sto eseguendo i comandi nel seguente ordine:

SELECT pg_start_backup('base_backup'); 

cd /var/lib/postgresql/9.0/ 
sudo tar -cjf ~/postgres-data.tar.bz2 main 

SELECT pg_stop_backup(); 

Per questo ottengo il seguente output:

NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived 
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed) 
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments. 
WARNING: pg_stop_backup still waiting for all required WAL segments to be archived (120 seconds elapsed) 
HINT: Check that your archive_command is executing properly. pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments. 

questo mantiene continuando ulteriormente e l'avviso non finisce mai. Per favore fatemi sapere se qualcuno ha affrontato questo problema.

risposta

1

Hai impostato un archive_command come descritto nel link specificato? In realtà sta copiando correttamente i file xlog in una posizione sicura? L'output dal server suggerisce che non lo è, e che un backlog si sta accumulando all'interno pg_xlog

Mi sembra di ricordare che in realtà non è necessario archiviare abilitato sul server per usarlo come master in una replica . Si do è necessario wal_level impostato su hot_standby. Con questa impostazione, la replica può connettersi al master per eseguire il flusso dei record xlog indipendentemente dal tradizionale processo di archiviazione xlog. Quindi prova a impostare archive_mode=off.

modificare: leggere il collegamento in modo più dettagliato, è necessario impostare archive_mode per creare il backup di base, il che ha senso. pertanto, è possibile correggere il comando di archiviazione in modo da poter eseguire correttamente il backup di base o eseguire un backup di base mentre il server è in arresto.

1

Potrebbe essere possibile verificare l'autorizzazione sulla cartella in cui sono in esecuzione i file di archivio WAL. Questo potrebbe essere il problema per cui l'utente proprietario del database non dispone dell'autorizzazione alla scrittura su quella cartella, motivo per cui non riesce a scrivere il file WAL in quella cartella. Si prega di utilizzare chmod e modificare i permessi su quella cartella. Questo potrebbe risolvere il problema.

Saluti.

Problemi correlati