Riallineamento di una Replica

Navigation:  DATABASE > PostgreSQL >

Riallineamento di una Replica

Previous pageReturn to chapter overviewNext page

Può capitare che una replica che rimane per troppo tempo disconnessa da un Master non riesca a riallinearsi ("Fall behind") per cui non contenga più dati validi.

In questo caso è necessario riallinearla al master. Questo si può fare in due modi:

 

1.replicando la procedura descritta nella Configurazione Master - Replica descritta nel topic precedente

2.creando un backup di base da mandare sul server replica per usarlo come punto di partenza: in questo capitolo descriveremo quest'ultima operazione, poichè in questo caso si può operare con il server master funzionante direttamente dal server replica.

 

Riallineamento tramite backup di base.

 

Portarsi sul server replica

Stoppare il server

assicurarsi che sul postgresql.conf del master siano presenti e valorizzati parametri:

omax_wal_senders=6

ohost_standby=off

ofull_page_writes=on

rinominare la vecchia cartella DATA (cartella dati, è la cartella in cui viene richiesto l'avvio del servizio, vedi riga di comando di start del sevizio) in modo tale che non venga sovrascritta

creare una nuova cartella in cui verranno scaricati i dati di backup dal master, per es:
c:\postgresql\standby

dalla cartella "bin" del server replica lanciare il comando:

opg_basebackup.exe --host=nnn.nnn.nnn.nnn --port=NNNN -D full_path_nuova_cartella -P --username=postgres --xlog-method=stream
dove:
nnn.nnn.nnn.nnn = IP del server master
NNNN = porta del server master
 

odando INVIO il comando partirà chiedendo la password dell'utente postgres, (solitamente "2011!postgre")

al termine del processo nella cartella full_path_nuova_cartella indicata nel percorso -D ... troverò un server "quasi" pronto a partire

salvarsi una copia di full_path_nuova_cartella

copiare i files:
postgresql.conf, pg_hba.conf, recovery.conf
nella cartella full_path_nuova_cartella

rinominare full_path_nuova_cartella come cartella DATA di avvio

verificare che i diritti della cartella DATA siano validi (controllo completo per l'utente "network services" su windows

startare il servizio: se parte il gioco è fatto, altrimenti consulare o i log nella cartella pg_log o gli eventi applicazione su server Windows o il messages su linux.