SlideShare a Scribd company logo
PITR: POINT IN TIME RECOVERY




                 PITR: POINT IN TIME RECOVERY


27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 1
HOT Backup

                     PITR




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 2
HOT Backup
  Tecnica utilizzata quando il database deve essere 
  in esecuzione nel mentre che il backup viene 
  effettuato
  Attivare nel file postgresql.conf il supporto per il 
  WAL e per il PITR
       archive_mode = on

  Impostare il parametro archive_command
       archive_command = 'cp ­i %p /mnt/server/archivedir/5f 
       </dev/null'
       archive_command = 'copy % cmntserverarchivedir%f'
    %p è il path assoluto del WAL
    %f è un filename unico che sarà creato sul path specificato 
      sopra


27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 3
PITR: POINT IN TIME RECOVERY
  PITR: rappresenta la possibiltà di far tornare un 
  cluster db in punto definito 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 trovati nella directory 
  pg_xlog
  Deve essere configurato con restart del postmaster 
  prima del suo utilizzo attraverso il file 
  postgresql.conf




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 4
PITR: FASE 1
  Impostare il parametro archive_command
       archive_command = 'cp ­i %p /mnt/server/archivedir/5f 
       </dev/null'
       archive_command = 'copy % cmntserverarchivedir%f'
    %p è il path assoluto del WAL
    %f è un filename unico che sarà creato sul path specificato 
      sopra




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 5
PITR: FASE 2
  Select pg_start_backup('label');


  Copia di tutto il file system della directory /data/base 
   e /data/global oppure esegui un pg_dumpall
  Copia della pg_xlog


  Select pg_stop_backup();




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 6
PITR: FASE 3 ­ RESTORE
  Se attivo ferma il postmaster
  Cancella tutti i dati nella cartella /data/base 
  /data/global
  Restore dei dati fatti nel dump precedente, 
  copiando o usando il dump fatto con pg_dump_all
  Copia dei dati dal backup di pg_xlog
  Creazione del file restore.conf all'interno della 
  directory data
  Riavvio del server




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 7
PITR : restore.conf

      restore_command = 'cp /mnt/server/archivedir/%f %p'


      oppure in ambiente windows


      restore_command = 'copy c:mntserverarchivedir
        %f %p'


      restore_target_time = "2008­10­17 18:00"




 27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 8
PITR: POINT IN TIME RECOVERY




                       HOT Backup

                       PITR




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp   page 9
Ad

More Related Content

What's hot (20)

Presentazione tesi 2.0
Presentazione tesi 2.0Presentazione tesi 2.0
Presentazione tesi 2.0
MassimoPalmisano
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei pro
Enrico Pirozzi
 
PostgreSQL : Architettura di storage
PostgreSQL : Architettura di storagePostgreSQL : Architettura di storage
PostgreSQL : Architettura di storage
Enrico Pirozzi
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Ivan Rossi
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
Giuseppe Agrillo
 
Sottoli in the cloud
Sottoli in the cloudSottoli in the cloud
Sottoli in the cloud
dema
 
Tom EE appunti devoxx2012
Tom EE   appunti devoxx2012 Tom EE   appunti devoxx2012
Tom EE appunti devoxx2012
Nicola Pedot
 
SAL 2018 - DevOps
SAL 2018 - DevOpsSAL 2018 - DevOps
SAL 2018 - DevOps
Mauro Sanfilippo
 
Clink
ClinkClink
Clink
h4f
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
MassimoPalmisano
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Informamuse srl
 
Log files - Approcci al Troubleshooting
 Log files - Approcci al Troubleshooting Log files - Approcci al Troubleshooting
Log files - Approcci al Troubleshooting
Fulvio Corno
 
LUG - Ricompilazione kernel
LUG - Ricompilazione kernelLUG - Ricompilazione kernel
LUG - Ricompilazione kernel
Alessandro Manfredi
 
Messa in rete
Messa in reteMessa in rete
Messa in rete
PgTraining
 
Architettura dei Calcolatori Subroutines80x86
Architettura dei Calcolatori Subroutines80x86Architettura dei Calcolatori Subroutines80x86
Architettura dei Calcolatori Subroutines80x86
Majong DevJfu
 
Proxmox VE
Proxmox VEProxmox VE
Proxmox VE
Dario Tion
 
Beryl
BerylBeryl
Beryl
Mauro Fava
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Matteo Baccan
 
PostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei proPostgreSQL: Archtettura per la gestione dei pro
PostgreSQL: Archtettura per la gestione dei pro
Enrico Pirozzi
 
PostgreSQL : Architettura di storage
PostgreSQL : Architettura di storagePostgreSQL : Architettura di storage
PostgreSQL : Architettura di storage
Enrico Pirozzi
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
Ivan Rossi
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
Giuseppe Agrillo
 
Sottoli in the cloud
Sottoli in the cloudSottoli in the cloud
Sottoli in the cloud
dema
 
Tom EE appunti devoxx2012
Tom EE   appunti devoxx2012 Tom EE   appunti devoxx2012
Tom EE appunti devoxx2012
Nicola Pedot
 
Clink
ClinkClink
Clink
h4f
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
MassimoPalmisano
 
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazioneBookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Informamuse srl
 
Log files - Approcci al Troubleshooting
 Log files - Approcci al Troubleshooting Log files - Approcci al Troubleshooting
Log files - Approcci al Troubleshooting
Fulvio Corno
 
Architettura dei Calcolatori Subroutines80x86
Architettura dei Calcolatori Subroutines80x86Architettura dei Calcolatori Subroutines80x86
Architettura dei Calcolatori Subroutines80x86
Majong DevJfu
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Matteo Baccan
 

Viewers also liked (7)

PostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei datiPostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei dati
Enrico Pirozzi
 
PostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e lockingPostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e locking
Enrico Pirozzi
 
Openday - PostgreSQL: primi passi con Json/Jsonb
Openday - PostgreSQL: primi passi con Json/Jsonb Openday - PostgreSQL: primi passi con Json/Jsonb
Openday - PostgreSQL: primi passi con Json/Jsonb
PgTraining
 
Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)
PgTraining
 
Medicina Generale con PostgreSQL
Medicina Generale con PostgreSQLMedicina Generale con PostgreSQL
Medicina Generale con PostgreSQL
Emanuele Zamprogno
 
PostgreSQL: Approximated searches
PostgreSQL: Approximated searchesPostgreSQL: Approximated searches
PostgreSQL: Approximated searches
Enrico Pirozzi
 
PostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei datiPostgreSQL: Integrità dei dati
PostgreSQL: Integrità dei dati
Enrico Pirozzi
 
PostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e lockingPostgreSQL: Transazioni e locking
PostgreSQL: Transazioni e locking
Enrico Pirozzi
 
Openday - PostgreSQL: primi passi con Json/Jsonb
Openday - PostgreSQL: primi passi con Json/Jsonb Openday - PostgreSQL: primi passi con Json/Jsonb
Openday - PostgreSQL: primi passi con Json/Jsonb
PgTraining
 
Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)Love Your Database (ESC 2k16)
Love Your Database (ESC 2k16)
PgTraining
 
Medicina Generale con PostgreSQL
Medicina Generale con PostgreSQLMedicina Generale con PostgreSQL
Medicina Generale con PostgreSQL
Emanuele Zamprogno
 
PostgreSQL: Approximated searches
PostgreSQL: Approximated searchesPostgreSQL: Approximated searches
PostgreSQL: Approximated searches
Enrico Pirozzi
 
Ad

Similar to PostgreSQL: Point in time recovery (20)

High Performance Web Apps con PHP e Symfony 2
High Performance Web Apps con PHP  e Symfony 2High Performance Web Apps con PHP  e Symfony 2
High Performance Web Apps con PHP e Symfony 2
Giorgio Cefaro
 
Webminar del 12.03.2012
Webminar del 12.03.2012Webminar del 12.03.2012
Webminar del 12.03.2012
PgTraining
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
Claudio Mignanti
 
TYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novitàTYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novità
Roberto Torresani
 
TYPO3 CMS 7.3 - le novita
TYPO3 CMS 7.3 - le novitaTYPO3 CMS 7.3 - le novita
TYPO3 CMS 7.3 - le novita
Roberto Torresani
 
TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita TYPO3 CMS 7.5: le novita
TYPO3 CMS 7.5: le novita
Roberto Torresani
 
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novitàTYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
Roberto Torresani
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8
Luca Lusso
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchetti
giallu
 
100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)
antonio_tonani
 
TYPO3 CMS 7.6 - Le novita
TYPO3 CMS 7.6 - Le novitaTYPO3 CMS 7.6 - Le novita
TYPO3 CMS 7.6 - Le novita
Roberto Torresani
 
Strategie di backup e ripristino dei dati con Oracle
Strategie di backup e ripristino dei dati con OracleStrategie di backup e ripristino dei dati con Oracle
Strategie di backup e ripristino dei dati con Oracle
Datamaze
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
Claudio Marotta
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
sparkfabrik
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
DrupalDay
 
Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2
Roberto Torresani
 
Qt Lezione3: un visualizzatore di immagini
Qt Lezione3: un visualizzatore di immaginiQt Lezione3: un visualizzatore di immagini
Qt Lezione3: un visualizzatore di immagini
Paolo Sereno
 
TYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novitàTYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novità
Roberto Torresani
 
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
caioturtle
 
Raspberry omv
Raspberry omvRaspberry omv
Raspberry omv
Pipperss
 
High Performance Web Apps con PHP e Symfony 2
High Performance Web Apps con PHP  e Symfony 2High Performance Web Apps con PHP  e Symfony 2
High Performance Web Apps con PHP e Symfony 2
Giorgio Cefaro
 
Webminar del 12.03.2012
Webminar del 12.03.2012Webminar del 12.03.2012
Webminar del 12.03.2012
PgTraining
 
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novitàTYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
TYPO3 CMS 8.2 e TYPO3 CMS 8.3 - Le novità
Roberto Torresani
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8
Luca Lusso
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchetti
giallu
 
100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)100526 Sa 1.1 Platespin Forge Webinar (2)
100526 Sa 1.1 Platespin Forge Webinar (2)
antonio_tonani
 
Strategie di backup e ripristino dei dati con Oracle
Strategie di backup e ripristino dei dati con OracleStrategie di backup e ripristino dei dati con Oracle
Strategie di backup e ripristino dei dati con Oracle
Datamaze
 
Drupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzioneDrupal 8 - dal download del core alla pubblicazione in produzione
Drupal 8 - dal download del core alla pubblicazione in produzione
sparkfabrik
 
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
Drupal 8: dal download del Core alla pubblicazione in produzione. Cos'è cambi...
DrupalDay
 
Qt Lezione3: un visualizzatore di immagini
Qt Lezione3: un visualizzatore di immaginiQt Lezione3: un visualizzatore di immagini
Qt Lezione3: un visualizzatore di immagini
Paolo Sereno
 
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
Guida al computer - Lezione 103 - Pannello di Controllo – BackUp & Ripristino...
caioturtle
 
Raspberry omv
Raspberry omvRaspberry omv
Raspberry omv
Pipperss
 
Ad

PostgreSQL: Point in time recovery

  • 1. PITR: POINT IN TIME RECOVERY PITR: POINT IN TIME RECOVERY 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 1
  • 2. HOT Backup PITR 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 2
  • 3. HOT Backup Tecnica utilizzata quando il database deve essere  in esecuzione nel mentre che il backup viene  effettuato Attivare nel file postgresql.conf il supporto per il  WAL e per il PITR archive_mode = on Impostare il parametro archive_command archive_command = 'cp ­i %p /mnt/server/archivedir/5f  </dev/null' archive_command = 'copy % cmntserverarchivedir%f' %p è il path assoluto del WAL %f è un filename unico che sarà creato sul path specificato  sopra 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 3
  • 4. PITR: POINT IN TIME RECOVERY PITR: rappresenta la possibiltà di far tornare un  cluster db in punto definito 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 trovati nella directory  pg_xlog Deve essere configurato con restart del postmaster  prima del suo utilizzo attraverso il file  postgresql.conf 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 4
  • 5. PITR: FASE 1 Impostare il parametro archive_command archive_command = 'cp ­i %p /mnt/server/archivedir/5f  </dev/null' archive_command = 'copy % cmntserverarchivedir%f' %p è il path assoluto del WAL %f è un filename unico che sarà creato sul path specificato  sopra 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 5
  • 6. PITR: FASE 2 Select pg_start_backup('label'); Copia di tutto il file system della directory /data/base   e /data/global oppure esegui un pg_dumpall Copia della pg_xlog Select pg_stop_backup(); 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 6
  • 7. PITR: FASE 3 ­ RESTORE Se attivo ferma il postmaster Cancella tutti i dati nella cartella /data/base  /data/global Restore dei dati fatti nel dump precedente,  copiando o usando il dump fatto con pg_dump_all Copia dei dati dal backup di pg_xlog Creazione del file restore.conf all'interno della  directory data Riavvio del server 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 7
  • 8. PITR : restore.conf restore_command = 'cp /mnt/server/archivedir/%f %p' oppure in ambiente windows restore_command = 'copy c:mntserverarchivedir %f %p' restore_target_time = "2008­10­17 18:00" 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 8
  • 9. PITR: POINT IN TIME RECOVERY HOT Backup PITR 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/pitr.odp page 9
  翻译: