SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
GABRIELE BARTOLINI
PGDay Australia 2013 - Melbourne, 4 February 2013
GABRIELE BARTOLINI

• Co-Founder   and Manager of 2ndQuadrant Italia

 • Data Architect, Business   critical environments

 • Data   warehousing

• Co-Founder   Italian PostgreSQL Users Group

• Co-Founder   PostgreSQL Europe

• PostgreSQL   Contributor and Advocate
DISCLAIMER
This talk assumes you are familiar with disaster
       recovery concepts and PostgreSQL
  implementation of Point In Time Recovery
BE AWARE
In 2ndQuadrant, all these concepts usually fit in a
2 day workshop on Disaster Recovery and a 1 day
          workshop on Barman alone
OUTLINE



• Business   continuity / Disaster recovery for databases

• Disaster   recovery with Barman for PostgreSQL
PART I
Business continuity / Disaster recovery for databases
BUSINESS CONTINUITY
activity performed by an organization to ensure that critical
business functions will be available to customers, suppliers,
 regulators, and other entities that must have access to those
                    functions - Wikipedia
INFORMATION TECHNOLOGY



•   Business continuity

    •   High availability

    •   Disaster recovery
LAW REQUIREMENTS
In Italy, the “Codice dell’Amministrazione Digitale”
defines business continuity requirements for public
                       administrations
DISASTER
     (touch wood)

system/hardware failures
  unintentional errors
     natural disaster
REACT TO A DISASTER
Recover systems, data and infrastructures
TOO LATE!
Do not wait for a disaster to happen
PLAN FOR DISASTERS
 “Disasters” will happen. Be prepared.
“Plans are worthless, but planning is
    everything. There is a very great distinction
  because when you are planning for an emergency
you must start with this one thing: the very definition
    of "emergency" is that it is unexpected,
 therefore it is not going to happen the way you are
                        planning.”
                                 - Dwight D. Eisenhower
REGULAR CRASH TESTS
DATABASE
DISASTER RECOVERY
  Let’s just focus on databases!
REQUIREMENTS



•   Automated backups          •   Retention policies

•   Notifications (anomalies)   •   Data protection

•   Frequency of backups       •   Availability for recovery
POSTGRES BACKUP

• Hot   backup        • Physical   Backup

  • MVCC                • Full   backup (base backup)

• Logical   Backup      • Differential   backup (WAL)

  • pg_dump
TRADITIONAL DR
              WITH POSTGRESQL
• PostgreSQLprimitives for    • Custom      scripts
 DR are robust and reliable
                              • Hard   to integrate in:
• High   level skills
                               • Backup    solutions
 • DBA
                               • Disaster   Recovery plans
 • Sysadmins
                              • Hard    to test!
EXISTING TOOLS

• Omni-PITR           • WAL-E

 • WAL   centric       • EC2   centric, but ...

• WALmgr                 • good

 • WAL   centric         • came   later

• pg-rman

 • Server   centric
NONE FOR DR
None of them was a pure disaster recovery solution.
   We wanted something similar to Oracle’s RMAN.
FILLING A HOLE
The lack of a DR solution is a barrier towards the adoption
        of PostgreSQL from Oracle users’ point of view.
DESIDERATA

• Hot, Full, Differential   and   • Archival   and compression
 Incremental backups
                                    • WAL      segments
• Multiple   servers
                                    • Periodical   backups
• Remote     backup & recovery
                                  • Automation
• Backup   catalogues
                                  • Integration
• Retention   policies
                                  • Usability
WWW.PGBARMAN.ORG
PART II
Disaster recovery with Barman for PostgreSQL
BARMAN

• GNU     GPL 3                      • Debian/Ubuntu   package

• Hosted   on Sourceforge.net        • Designed, developed,
                                      maintained by 2ndQuadrant
• Python   2.6/2.7

• PostgreSQL    8.4, 9.0, 9.1, 9.2

• PyPI   package

• RPM    package
Postgres     Postgres   Postgres




        Barman
         tape                   Barman




LAN, hybrid architecture
     centralised architecture
Postgres



 Continuous archiving               SSH commands
(WAL shipping via SSH)              SQL commands

                         Barman
Postgres                           Barman



 WAL       secure channel   cron

                     Barman’s
                    WAL archive
Postgres                                 Barman



    Periodical backup (weekly)   Full backup - Sat 1, 4AM

    Differential backup
    Backup catalogue             Full backup - Sat 8, 4AM



                                 Full backup - Sat 15, 4AM



                                 Full backup - Sat 22, 4AM
WAL archive



      Backup 1                           Backup 2

      (100MB)                            (105MB)




WAL    WAL       WAL   WAL   WAL   WAL     WAL      WAL   WAL   WAL



Size: 100MB + 80MB == 260MB Size: 105MB + 80MB = 185MB
              160MB 180MB
CONFIGURATION FILE
[barman]
barman_home = /srv/barman
barman_user = barman
log_file = /var/log/barman/barman.log
log_level = NOTICE
compression = gzip

[production]
description = Production PostgreSQL
ssh_command = ssh pg.2ndQuadrant.it
conninfo = host=pg.2ndQuadrant.it user=postgres
compression = bzip2
MULTI-SERVER
          CONFIGURATION
[barman]
; General configuration
; …
[server_one]
; Configuration for Server 1
; …
[server_two]
; Configuration for Server 2
; …
[server_X]
; …
MULTIPLE FILES INCLUSION


[barman]
; General configuration
; …
configuration_files_directory = /etc/barman.d
CONVENTION OVER
 CONFIGURATION
   global/per server options
    default directory layout
CONVENTIONAL
 DIRECTORIES FOR BARMAN
• barman_home         (/srv/barman)

 • server   directory (/srv/barman/production)

   • base   directory (/srv/barman/production/base)

   • WAL     directory (/srv/barman/production/wals)

   • incoming   directory (/srv/barman/production/incoming)
GLOBAL COMMANDS

• List   of managed servers

 • barman   list-server

• Maintenance      operations

 • barman   cron
SERVER COMMANDS

• Information        and   • Backup   control
 diagnostics
                           • Recovery   control
 • barman   status

 • barman   check

 • barman   show-server

 • barman   list-backup
BACKUP CONTROL

• barman   backup

• barman   show-backup

• barman   list-files

 • standalone, data, wal, full

• barman   delete
SHOW BACKUP

• General                    • WAL

 • Servername, Postgres       • Number     of associated files
  version, status, ...
                              • disk   usage
• Base   backup
                             • Context
 • Start/End
           time, first/last
  WAL, disk usage, ...        • Previous/Next    backup
RECOVERY CONTROL

• Recovery    target (full / point in time)

• Local   recovery

 • barman   recover

• Remote    recovery

 • barman   recover --remote-ssh-command
ADVANCED RECOVERY

• Point   In Time Recovery

 • --target-time   = TIME

 • --target-xid   = XID

• Relocation      of tablespaces

 • --tablespace    NAME:LOCATION [...]
COMMON USE CASES


• Accidental   errors recovery

• Disaster   recovery

• Sandbox    server (BI, staging, ...)
RETENTION POLICIES

• User-defined       policy

• Determines  how long backups and related WAL files need to
 be retained for recovery procedures (point of recoverability):

 • basedon number of backups (REDUNDANCY) or time
   (RECOVERY WINDOW)

• Currently   implemented only in auto mode

 • through ‘barman   cron’
RETENTION POLICY
         CONFIGURATION
; Base backup retention policy
retention_policy = 'redundancy 3'
retention_policy = 'recovery window of 3 months'

; WAL retention policy
wal_retention_policy = 'base'
; The following is currently not supported
wal_retention_policy =
    'recovery window of 14 days'
SPONSOR A FEATURE!

• Sandbox    recovery            • Replication protocol support
                                  (client / server)
• Export/Import
                                 • Incremental   backup
• Logical   backup integration
                                   • reduce   backup time and
  • pg_dump     on sandbox          size
   instances
OUR COMMITMENT


• Keep   it open source

• Reinvest   money from sale of DR turnkey solutions in R&D

• Support    and maintain RPM/Debian packages

• Accept   sponsorships for new features development
CSI PIEMONTE

     (One of the top 10 ICT companies in Italy for revenue)

 “We found in Barman the optimal solution for physical backup
   and disaster recovery of PostgreSQL databases. Barman is
robust and easy to use. Its command interface allows an easy
   integration with the existing management tools in our
                          enviroment.”

      Sponsors of RPM package and WAL compression
CONCLUSIONS

• Hides   complexity of PITR / Keeps unaltered PITR strenghts

• Not   invasive

• Fosters   migrations from Oracle

• “Standard   de facto” for PostgreSQL Disaster Recovery

• Advice: plan     for DR (if you have not done it yet)
QUESTIONS?
Gabriele.Bartolini@2ndQuadrant.it
      Twitter: _GBartolini_
       www.pgbarman.org
THANK YOU!
LICENSE



This work is licensed under a Creative Commons Attribution-
     NonCommercial-ShareAlike 3.0 Unported License

         Copyright (c) 2012, 2013 - 2ndQuadrant.it

Contenu connexe

Tendances

[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기PgDay.Seoul
 
PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?Ohyama Masanori
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleMariaDB plc
 
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1Federico Campoli
 
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018Amazon Web Services
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1NeoClova
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuningelliando dias
 
Advanced backup methods (Postgres@CERN)
Advanced backup methods (Postgres@CERN)Advanced backup methods (Postgres@CERN)
Advanced backup methods (Postgres@CERN)Anastasia Lubennikova
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningAlbert Chen
 
Inno Db Internals Inno Db File Formats And Source Code Structure
Inno Db Internals Inno Db File Formats And Source Code StructureInno Db Internals Inno Db File Formats And Source Code Structure
Inno Db Internals Inno Db File Formats And Source Code StructureMySQLConference
 
Percona XtraDB Cluster ( Ensure high Availability )
Percona XtraDB Cluster ( Ensure high Availability )Percona XtraDB Cluster ( Ensure high Availability )
Percona XtraDB Cluster ( Ensure high Availability )Mydbops
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsJignesh Shah
 
OpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQLOpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQLOpen Gurukul
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compactionMIJIN AN
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundMasahiko Sawada
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBScaleGrid.io
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육 Sangmo Kim
 

Tendances (20)

[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
 
PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?PostgreSQL Security. How Do We Think?
PostgreSQL Security. How Do We Think?
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
 
Postgresql database administration volume 1
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1
 
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
Deep Dive on PostgreSQL Databases on Amazon RDS (DAT324) - AWS re:Invent 2018
 
Get to know PostgreSQL!
Get to know PostgreSQL!Get to know PostgreSQL!
Get to know PostgreSQL!
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQL
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuning
 
Advanced backup methods (Postgres@CERN)
Advanced backup methods (Postgres@CERN)Advanced backup methods (Postgres@CERN)
Advanced backup methods (Postgres@CERN)
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Inno Db Internals Inno Db File Formats And Source Code Structure
Inno Db Internals Inno Db File Formats And Source Code StructureInno Db Internals Inno Db File Formats And Source Code Structure
Inno Db Internals Inno Db File Formats And Source Code Structure
 
Percona XtraDB Cluster ( Ensure high Availability )
Percona XtraDB Cluster ( Ensure high Availability )Percona XtraDB Cluster ( Ensure high Availability )
Percona XtraDB Cluster ( Ensure high Availability )
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
 
OpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQLOpenGurukul : Database : PostgreSQL
OpenGurukul : Database : PostgreSQL
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparound
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Working with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDBWorking with JSON Data in PostgreSQL vs. MongoDB
Working with JSON Data in PostgreSQL vs. MongoDB
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 

En vedette

Odoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo
 
Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)Denish Patel
 
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)Gabriele Bartolini
 
The Essential PostgreSQL.conf
The Essential PostgreSQL.confThe Essential PostgreSQL.conf
The Essential PostgreSQL.confRobert Treat
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanJuliano Atanazio
 
Advanced WAL File Management With OmniPITR
Advanced WAL File Management With OmniPITRAdvanced WAL File Management With OmniPITR
Advanced WAL File Management With OmniPITRRobert Treat
 
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptxThink_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptxPayal Singh
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakShelly Sanchez Terrell
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging ChallengesAaron Irizarry
 
PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)Gabriele Bartolini
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesAshnikbiz
 

En vedette (20)

Odoo disaster recovery with barman
Odoo disaster recovery with barmanOdoo disaster recovery with barman
Odoo disaster recovery with barman
 
Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)
 
Scaling postgres
Scaling postgresScaling postgres
Scaling postgres
 
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
PostgreSQL Disaster Recovery with Barman (PGConf.EU 2013)
 
The Essential PostgreSQL.conf
The Essential PostgreSQL.confThe Essential PostgreSQL.conf
The Essential PostgreSQL.conf
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
 
Pro Postgres 9
Pro Postgres 9Pro Postgres 9
Pro Postgres 9
 
Advanced WAL File Management With OmniPITR
Advanced WAL File Management With OmniPITRAdvanced WAL File Management With OmniPITR
Advanced WAL File Management With OmniPITR
 
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptxThink_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
Think_your_Postgres_backups_and_recovery_are_safe_lets_talk.pptx
 
Backups
BackupsBackups
Backups
 
Inaugural Addresses
Inaugural AddressesInaugural Addresses
Inaugural Addresses
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)PostgreSQL 9.3: novità in "vista" (in italiano)
PostgreSQL 9.3: novità in "vista" (in italiano)
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use Cases
 

Similaire à PostgreSQL Disaster Recovery with Barman

Oracle Backup Solutions Overview August 2018
Oracle Backup Solutions Overview August 2018Oracle Backup Solutions Overview August 2018
Oracle Backup Solutions Overview August 2018Dan Glasscock
 
Oracle DataGuard Online Training in USA | INDIA
Oracle DataGuard Online Training in USA | INDIAOracle DataGuard Online Training in USA | INDIA
Oracle DataGuard Online Training in USA | INDIAXoom Trainings
 
Rman Presentation
Rman PresentationRman Presentation
Rman PresentationRick van Ek
 
Proact ExaGrid Seminar Presentation KK 20220419.pdf
Proact ExaGrid Seminar Presentation KK 20220419.pdfProact ExaGrid Seminar Presentation KK 20220419.pdf
Proact ExaGrid Seminar Presentation KK 20220419.pdfKarel Kannel
 
Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia DatabasesJaime Crespo
 
[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage SolutionsPerforce
 
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...SQLExpert.pl
 
A Backup Today Saves Tomorrow
A Backup Today Saves TomorrowA Backup Today Saves Tomorrow
A Backup Today Saves TomorrowAndrew Moore
 
Oracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskOracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskAlan Williams
 
Pdb my sql backup london percona live 2012
Pdb my sql backup   london percona live 2012Pdb my sql backup   london percona live 2012
Pdb my sql backup london percona live 2012Pythian
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with BarmanEDB
 
What can QNAP Turbo NAS do for your business
What can QNAP Turbo NAS do for your businessWhat can QNAP Turbo NAS do for your business
What can QNAP Turbo NAS do for your businessqnap
 
Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixKyle Hailey
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storageCaroline_Rose
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman scriptMaris Elsins
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
 

Similaire à PostgreSQL Disaster Recovery with Barman (20)

Oracle Backup Solutions Overview August 2018
Oracle Backup Solutions Overview August 2018Oracle Backup Solutions Overview August 2018
Oracle Backup Solutions Overview August 2018
 
Oracle DataGuard Online Training in USA | INDIA
Oracle DataGuard Online Training in USA | INDIAOracle DataGuard Online Training in USA | INDIA
Oracle DataGuard Online Training in USA | INDIA
 
Rman Presentation
Rman PresentationRman Presentation
Rman Presentation
 
Proact ExaGrid Seminar Presentation KK 20220419.pdf
Proact ExaGrid Seminar Presentation KK 20220419.pdfProact ExaGrid Seminar Presentation KK 20220419.pdf
Proact ExaGrid Seminar Presentation KK 20220419.pdf
 
Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia Databases
 
[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions
 
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
 
Philly DB MapR Overview
Philly DB MapR OverviewPhilly DB MapR Overview
Philly DB MapR Overview
 
A Backup Today Saves Tomorrow
A Backup Today Saves TomorrowA Backup Today Saves Tomorrow
A Backup Today Saves Tomorrow
 
Oracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ AutodeskOracle Database Backups and Disaster Recovery @ Autodesk
Oracle Database Backups and Disaster Recovery @ Autodesk
 
Exadata Backup
Exadata BackupExadata Backup
Exadata Backup
 
Pdb my sql backup london percona live 2012
Pdb my sql backup   london percona live 2012Pdb my sql backup   london percona live 2012
Pdb my sql backup london percona live 2012
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
 
PostgreSQL continuous backup and PITR with Barman
 PostgreSQL continuous backup and PITR with Barman PostgreSQL continuous backup and PITR with Barman
PostgreSQL continuous backup and PITR with Barman
 
What can QNAP Turbo NAS do for your business
What can QNAP Turbo NAS do for your businessWhat can QNAP Turbo NAS do for your business
What can QNAP Turbo NAS do for your business
 
Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs Delphix
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storage
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman script
 
Oracle Storage a ochrana dat
Oracle Storage a ochrana datOracle Storage a ochrana dat
Oracle Storage a ochrana dat
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 

Plus de Gabriele Bartolini

Webinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanWebinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanGabriele Bartolini
 
From 0 to ~100: Business Continuity with PostgreSQL
From 0 to ~100: Business Continuity with PostgreSQLFrom 0 to ~100: Business Continuity with PostgreSQL
From 0 to ~100: Business Continuity with PostgreSQLGabriele Bartolini
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Gabriele Bartolini
 
JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)Gabriele Bartolini
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
 

Plus de Gabriele Bartolini (6)

Webinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with BarmanWebinar: PostgreSQL continuous backup and PITR with Barman
Webinar: PostgreSQL continuous backup and PITR with Barman
 
From 0 to ~100: Business Continuity with PostgreSQL
From 0 to ~100: Business Continuity with PostgreSQLFrom 0 to ~100: Business Continuity with PostgreSQL
From 0 to ~100: Business Continuity with PostgreSQL
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)JSON con PostgreSQL 9.3 (in italiano)
JSON con PostgreSQL 9.3 (in italiano)
 
Writing infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQLWriting infinite scalability web applications with PHP and PostgreSQL
Writing infinite scalability web applications with PHP and PostgreSQL
 
Why use PostgreSQL?
Why use PostgreSQL?Why use PostgreSQL?
Why use PostgreSQL?
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

PostgreSQL Disaster Recovery with Barman

  • 1.
  • 2. GABRIELE BARTOLINI PGDay Australia 2013 - Melbourne, 4 February 2013
  • 3. GABRIELE BARTOLINI • Co-Founder and Manager of 2ndQuadrant Italia • Data Architect, Business critical environments • Data warehousing • Co-Founder Italian PostgreSQL Users Group • Co-Founder PostgreSQL Europe • PostgreSQL Contributor and Advocate
  • 4. DISCLAIMER This talk assumes you are familiar with disaster recovery concepts and PostgreSQL implementation of Point In Time Recovery
  • 5. BE AWARE In 2ndQuadrant, all these concepts usually fit in a 2 day workshop on Disaster Recovery and a 1 day workshop on Barman alone
  • 6. OUTLINE • Business continuity / Disaster recovery for databases • Disaster recovery with Barman for PostgreSQL
  • 7. PART I Business continuity / Disaster recovery for databases
  • 8. BUSINESS CONTINUITY activity performed by an organization to ensure that critical business functions will be available to customers, suppliers, regulators, and other entities that must have access to those functions - Wikipedia
  • 9. INFORMATION TECHNOLOGY • Business continuity • High availability • Disaster recovery
  • 10. LAW REQUIREMENTS In Italy, the “Codice dell’Amministrazione Digitale” defines business continuity requirements for public administrations
  • 11. DISASTER (touch wood) system/hardware failures unintentional errors natural disaster
  • 12. REACT TO A DISASTER Recover systems, data and infrastructures
  • 13. TOO LATE! Do not wait for a disaster to happen
  • 14. PLAN FOR DISASTERS “Disasters” will happen. Be prepared.
  • 15. “Plans are worthless, but planning is everything. There is a very great distinction because when you are planning for an emergency you must start with this one thing: the very definition of "emergency" is that it is unexpected, therefore it is not going to happen the way you are planning.” - Dwight D. Eisenhower
  • 17. DATABASE DISASTER RECOVERY Let’s just focus on databases!
  • 18. REQUIREMENTS • Automated backups • Retention policies • Notifications (anomalies) • Data protection • Frequency of backups • Availability for recovery
  • 19. POSTGRES BACKUP • Hot backup • Physical Backup • MVCC • Full backup (base backup) • Logical Backup • Differential backup (WAL) • pg_dump
  • 20. TRADITIONAL DR WITH POSTGRESQL • PostgreSQLprimitives for • Custom scripts DR are robust and reliable • Hard to integrate in: • High level skills • Backup solutions • DBA • Disaster Recovery plans • Sysadmins • Hard to test!
  • 21. EXISTING TOOLS • Omni-PITR • WAL-E • WAL centric • EC2 centric, but ... • WALmgr • good • WAL centric • came later • pg-rman • Server centric
  • 22. NONE FOR DR None of them was a pure disaster recovery solution. We wanted something similar to Oracle’s RMAN.
  • 23. FILLING A HOLE The lack of a DR solution is a barrier towards the adoption of PostgreSQL from Oracle users’ point of view.
  • 24. DESIDERATA • Hot, Full, Differential and • Archival and compression Incremental backups • WAL segments • Multiple servers • Periodical backups • Remote backup & recovery • Automation • Backup catalogues • Integration • Retention policies • Usability
  • 26. PART II Disaster recovery with Barman for PostgreSQL
  • 27. BARMAN • GNU GPL 3 • Debian/Ubuntu package • Hosted on Sourceforge.net • Designed, developed, maintained by 2ndQuadrant • Python 2.6/2.7 • PostgreSQL 8.4, 9.0, 9.1, 9.2 • PyPI package • RPM package
  • 28. Postgres Postgres Postgres Barman tape Barman LAN, hybrid architecture centralised architecture
  • 29. Postgres Continuous archiving SSH commands (WAL shipping via SSH) SQL commands Barman
  • 30. Postgres Barman WAL secure channel cron Barman’s WAL archive
  • 31. Postgres Barman Periodical backup (weekly) Full backup - Sat 1, 4AM Differential backup Backup catalogue Full backup - Sat 8, 4AM Full backup - Sat 15, 4AM Full backup - Sat 22, 4AM
  • 32. WAL archive Backup 1 Backup 2 (100MB) (105MB) WAL WAL WAL WAL WAL WAL WAL WAL WAL WAL Size: 100MB + 80MB == 260MB Size: 105MB + 80MB = 185MB 160MB 180MB
  • 33. CONFIGURATION FILE [barman] barman_home = /srv/barman barman_user = barman log_file = /var/log/barman/barman.log log_level = NOTICE compression = gzip [production] description = Production PostgreSQL ssh_command = ssh pg.2ndQuadrant.it conninfo = host=pg.2ndQuadrant.it user=postgres compression = bzip2
  • 34. MULTI-SERVER CONFIGURATION [barman] ; General configuration ; … [server_one] ; Configuration for Server 1 ; … [server_two] ; Configuration for Server 2 ; … [server_X] ; …
  • 35. MULTIPLE FILES INCLUSION [barman] ; General configuration ; … configuration_files_directory = /etc/barman.d
  • 36. CONVENTION OVER CONFIGURATION global/per server options default directory layout
  • 37. CONVENTIONAL DIRECTORIES FOR BARMAN • barman_home (/srv/barman) • server directory (/srv/barman/production) • base directory (/srv/barman/production/base) • WAL directory (/srv/barman/production/wals) • incoming directory (/srv/barman/production/incoming)
  • 38. GLOBAL COMMANDS • List of managed servers • barman list-server • Maintenance operations • barman cron
  • 39. SERVER COMMANDS • Information and • Backup control diagnostics • Recovery control • barman status • barman check • barman show-server • barman list-backup
  • 40.
  • 41. BACKUP CONTROL • barman backup • barman show-backup • barman list-files • standalone, data, wal, full • barman delete
  • 42.
  • 43. SHOW BACKUP • General • WAL • Servername, Postgres • Number of associated files version, status, ... • disk usage • Base backup • Context • Start/End time, first/last WAL, disk usage, ... • Previous/Next backup
  • 44.
  • 45. RECOVERY CONTROL • Recovery target (full / point in time) • Local recovery • barman recover • Remote recovery • barman recover --remote-ssh-command
  • 46. ADVANCED RECOVERY • Point In Time Recovery • --target-time = TIME • --target-xid = XID • Relocation of tablespaces • --tablespace NAME:LOCATION [...]
  • 47. COMMON USE CASES • Accidental errors recovery • Disaster recovery • Sandbox server (BI, staging, ...)
  • 48.
  • 49. RETENTION POLICIES • User-defined policy • Determines how long backups and related WAL files need to be retained for recovery procedures (point of recoverability): • basedon number of backups (REDUNDANCY) or time (RECOVERY WINDOW) • Currently implemented only in auto mode • through ‘barman cron’
  • 50. RETENTION POLICY CONFIGURATION ; Base backup retention policy retention_policy = 'redundancy 3' retention_policy = 'recovery window of 3 months' ; WAL retention policy wal_retention_policy = 'base' ; The following is currently not supported wal_retention_policy = 'recovery window of 14 days'
  • 51. SPONSOR A FEATURE! • Sandbox recovery • Replication protocol support (client / server) • Export/Import • Incremental backup • Logical backup integration • reduce backup time and • pg_dump on sandbox size instances
  • 52. OUR COMMITMENT • Keep it open source • Reinvest money from sale of DR turnkey solutions in R&D • Support and maintain RPM/Debian packages • Accept sponsorships for new features development
  • 53. CSI PIEMONTE (One of the top 10 ICT companies in Italy for revenue) “We found in Barman the optimal solution for physical backup and disaster recovery of PostgreSQL databases. Barman is robust and easy to use. Its command interface allows an easy integration with the existing management tools in our enviroment.” Sponsors of RPM package and WAL compression
  • 54. CONCLUSIONS • Hides complexity of PITR / Keeps unaltered PITR strenghts • Not invasive • Fosters migrations from Oracle • “Standard de facto” for PostgreSQL Disaster Recovery • Advice: plan for DR (if you have not done it yet)
  • 55. QUESTIONS? Gabriele.Bartolini@2ndQuadrant.it Twitter: _GBartolini_ www.pgbarman.org
  • 57. LICENSE This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 3.0 Unported License Copyright (c) 2012, 2013 - 2ndQuadrant.it