ap camp 2011
DESCRIPTION
Ap Camp 2011: Streaming replication in PostgreSQLTRANSCRIPT
![Page 1: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/1.jpg)
Ap Camp: 15/10/2011Ap Camp: 15/10/2011
PostgresqlPostgresqlBinary Streaming RBinary Streaming Replicationeplication
www.pgtraining.comEnrico Pirozzi
![Page 2: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/2.jpg)
AgendaAgenda
● Ha: High Availability
![Page 3: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/3.jpg)
AgendaAgenda
● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery
![Page 4: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/4.jpg)
AgendaAgenda
● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery● Streaming Replication
![Page 5: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/5.jpg)
AgendaAgenda
● Ha: High Availability● Hot Backup - P.I.T.R. : Point in time recovery● Streaming Replication● Testing
![Page 6: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/6.jpg)
High AvailabilityHigh Availability
● Cosa intendiamo per HA?● Cosa intendiamo per HA?
![Page 7: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/7.jpg)
High AvailabilityHigh Availability
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
![Page 8: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/8.jpg)
High AvailabilityHigh Availability
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
![Page 9: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/9.jpg)
High AvailabilityHigh Availability
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
● Cosa intendiamo per HA?● Si intende alta disponibilità di un servizio
![Page 10: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/10.jpg)
Hot BackupHot Backup
● Backup a caldo
![Page 11: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/11.jpg)
Hot BackupHot Backup
● Backup a caldo● Tecnica utilizzata quando il database deve
essere in esecuzione nel mentre che il backup viene effettuato
![Page 12: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/12.jpg)
Point in time recoveryPoint in time recovery
● PITR: rappresenta la possibiltà di far tornare un cluster db in punto defi nito nel tempo, sia esso presente che futuro
![Page 13: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/13.jpg)
Point in time recoveryPoint in time recovery
● PITR: rappresenta la possibiltà di far tornare un cluster db in punto defi nito nel tempo, sia esso presente che futuro
● E' disponibile in maniera stabile dalla versione 8.2x in poi
![Page 14: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/14.jpg)
Point in time recoveryPoint in time recovery
● PITR: rappresenta la possibiltà di far tornare un cluster db in punto defi nito nel tempo, sia esso presente che futuro
● E' disponibile in maniera stabile dalla versione 8.2x in poi
● Questa tecnica utilizza un backup completo di un cluster database e i WAL (write ahead log) trovati nella directory pg_xlog
![Page 15: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/15.jpg)
Point in time recoveryPoint in time recovery
Server A Server B
Copia dei dati+
Trasferimento dei WAL
![Page 16: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/16.jpg)
Domande ??????Domande ??????
![Page 17: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/17.jpg)
Streaming ReplicationStreaming Replication
Master
10.0.0.3
Standby Server
10.0.0.4
![Page 18: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/18.jpg)
Streaming ReplicationStreaming Replication
● Abilita i WAL record ad essere ricevuti ed eseguiti dalla macchina in standby nel mentre la macchina master li genera.
![Page 19: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/19.jpg)
Streaming ReplicationStreaming Replication
● Abilita i WAL record ad essere ricevuti ed eseguiti dalla macchina in standby nel mentre la macchina master li genera
● Abilita le query in sola lettura sul server standby
![Page 20: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/20.jpg)
Streaming ReplicationStreaming Replication
● Abilita i WAL record ad essere ricevuti ed eseguiti dalla macchina in standby nel mentre la macchina master li genera
● Abilita le query in sola lettura sul server standby
● Replicazione Asincrona
![Page 21: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/21.jpg)
Streaming ReplicationStreaming ReplicationStreaming ReplicationStreaming Replication
![Page 22: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/22.jpg)
Streaming ReplicationStreaming ReplicationStreaming ReplicationStreaming Replication
ConfigurazioneConfigurazione
![Page 23: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/23.jpg)
Streaming ReplicationStreaming Replication
Modifica del postgresql.conf
Macchina Master
● listen_address = '*'
![Page 24: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/24.jpg)
Streaming ReplicationStreaming Replication
Modifica del postgresql.conf
Macchina Master
● listen_address = '*'
● wal_level = hot_standby
![Page 25: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/25.jpg)
Streaming ReplicationStreaming Replication
Modifica del postgresql.conf
Macchina Master
● listen_address = '*'
● wal_level = hot_standby
● max_wal_senders = 3
![Page 26: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/26.jpg)
Streaming ReplicationStreaming Replication
Modifica del pg_hba.conf
Macchina Master
host replication all 10.0.0.4/32 trust
![Page 27: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/27.jpg)
Streaming ReplicationStreaming Replication
Modifica del postgresql.conf
Macchina Standby
● hot_standby = on
![Page 28: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/28.jpg)
Streaming ReplicationStreaming Replication
Modifica del recovery.conf
Macchina Standby
● standby_mode = 'on'
● primary_conninfo = 'host=10.0.0.3'
![Page 29: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/29.jpg)
Streaming ReplicationStreaming Replication
Modifica del recovery.conf
Macchina Standby
● standby_mode = 'on'
● primary_conninfo = 'host=10.0.0.3'
● trigger_file = '/usr/local/pgsql/data/failover'
![Page 30: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/30.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Master
● psql -U postgres
![Page 31: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/31.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Master
● psql -U postgres
● # select pg_start_backup('clone',true);
![Page 32: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/32.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Master
● psql -U postgres
● # select pg_start_backup('clone',true);
● rsync -av --exclude pg_xlog --exclude postgresql.conf --exclude postgresql.pid \
data/* 192.168.0.2:/usr/local/pgsql/data/
![Page 33: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/33.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Master
● psql -U postgres
● # select pg_stop_backup();
![Page 34: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/34.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Master
● psql -U postgres
● # select pg_stop_backup();
● rsync -av data/pg_xlog 192.168.0.2:/var/lib/postgresql/data/
![Page 35: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/35.jpg)
Streaming ReplicationStreaming Replication
Sincronizzazione del db remoto
Macchina Standby
● /etc/rc.d/postgres start (Bsd)
● /etc/init.d/postgres start (Debian)
![Page 36: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/36.jpg)
Streaming ReplicationStreaming Replication
Al Lavoro ???Al Lavoro ???
![Page 37: Ap Camp 2011](https://reader033.vdocument.in/reader033/viewer/2022052622/558e12fc1a28ab53128b4736/html5/thumbnails/37.jpg)
ContattiContatti
Enrico PirozziEnrico Pirozzihttp://www.pgtraining.comhttp://www.pgtraining.com
[email protected]@pgtraining.com