In che modo la replica in streaming di Postgres 9.2 gestisce le modifiche dello schema e la configurazione iniziale della tabella?


8

Voglio impostare un database di backup sul server fisico che si trova proprio sotto il mio server di database fisico primario. Sto usando Postgres 9.2 e voglio usare la replica sincrona in streaming (per atomicità), ma non sono completamente a conoscenza di come, ad esempio, A) l'impostazione iniziale della tabella viene trasferita dal server 1 al server 2 (ad esempio, eseguo syncdbdalla mia app Django, che crea una serie di tabelle sul server 1) e B) in che modo vengono apportate continue modifiche allo schema dal server 1 al server 2 (ad esempio, eseguo una migrazione Django South, che invia ALTER TABLEquery, oltre ad aggiungere / rimozione di indici, ecc.). Queste cose vengono gestite in modo trasparente con la replica in streaming o c'è qualcosa che devo fare per influenzare questa modifica su entrambi i server?

Risposte:


14

Se si intende utilizzare la replica di streaming integrata di PostgreSQL, eseguire il seeding della replica con un backup di base, una copia a livello di file system del database originale. Quindi ha già tutte le tabelle e i dati dal master. pg_basebackupdi solito è usato per questo.

La replica in streaming legge le modifiche a livello di blocco dai registri write-ahead, quindi i database vengono mantenuti fisicamente gli stessi. Poiché DDL è, proprio come DML, registrato in WAL, DDL e DML sono entrambi replicati in modo trasparente.

Vedere la documentazione su HA e replica in PostgreSQL per ulteriori informazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.