Thread: Suggestion on Backup
We’re having Master & Slave Postgres 9.1.3 on CentOS – using Streaming Replication, which serve as a read-only database, and as ‘backup’ for the production database.
The current backup mechanism is using pg_dump.
We’re in need to do maintenance process that required the server to be taken down.
So, during that time, we only have 1 Production server.
I’m trying to setup a process that can be used to have the continuous backup of the production, to make sure if some problems happen on the production server, we won’t loss the data.
Could you experts give me suggestion on the best way to achieve this?
And detail on how to achieve it?
Thanks in advance,
Jen
We’re having Master & Slave Postgres 9.1.3 on CentOS – using Streaming Replication, which serve as a read-only database, and as ‘backup’ for the production database.
The current backup mechanism is using pg_dump.
We’re in need to do maintenance process that required the server to be taken down.
So, during that time, we only have 1 Production server.
I’m trying to setup a process that can be used to have the continuous backup of the production, to make sure if some problems happen on the production server, we won’t loss the data.
Could you experts give me suggestion on the best way to achieve this?
And detail on how to achieve it?
Thanks in advance,
Jen
Hi Jen, On Tue, 15 Oct 2013 21:09:50 +0000, Jeni Fifrick <jfifrick@incomm.com> wrote: > We're having Master & Slave Postgres 9.1.3 on CentOS - using > Streaming Replication, which serve as a read-only database, and as > 'backup' for the production database. Sure. > I'm trying to setup a process that can be used to have the continuous > backup of the production, to make sure if some problems happen on the > production server, we won't loss the data. It is important that you understand though that such an architecture (with just replication) won't completely protect you from disasters happening on the master. I am referring to data loss caused by undeliberate DELETE or DROP operations, for example, or SQL injections. Especially if you have a streaming replicated standby, data that disappears on the master will disappear from the standby immediately after. Physical backup and continuous archiving will add this kind of protection to your system. Using 9.1 unfortunately you can't benefit from cascading replication using the streaming protocol (introduced in 9.2), however you can look into the pg_basebackup utility for this purpose. Otherwise, there are tools out there that help you achieving these goals, such as OmniPITR (https://github.com/omniti-labs/omnipitr), pg-rman (http://code.google.com/p/pg-rman/), WAL-E (https://github.com/heroku/WAL-E, mainly for Amazon AWS users) and barman (http://www.pgbarman.org/) - to name a few. Being one of the developers, I can definitely recommend Barman. It does not yet support streaming replication, but usually with WAL file shipping you can still achieve very good results in terms of Recovery Point Objective (which measures data loss). It is very easy to setup, and already has packages for CentOS. I hope this helps. Cheers, Gabriele -- Gabriele Bartolini - 2ndQuadrant Italia PostgreSQL Training, Services and Support Gabriele.Bartolini@2ndQuadrant.it - www.2ndQuadrant.it
Thank you Gabriele & all for your suggestions. I'm going to review them. -----Original Message----- From: Gabriele Bartolini [mailto:Gabriele.Bartolini@2ndQuadrant.it] Sent: Wednesday, October 16, 2013 2:51 AM To: Jeni Fifrick Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Suggestion on Backup Hi Jen, On Tue, 15 Oct 2013 21:09:50 +0000, Jeni Fifrick <jfifrick@incomm.com> wrote: > We're having Master & Slave Postgres 9.1.3 on CentOS - using Streaming > Replication, which serve as a read-only database, and as 'backup' for > the production database. Sure. > I'm trying to setup a process that can be used to have the continuous > backup of the production, to make sure if some problems happen on the > production server, we won't loss the data. It is important that you understand though that such an architecture (with just replication) won't completely protect youfrom disasters happening on the master. I am referring to data loss caused by undeliberate DELETE or DROP operations,for example, or SQL injections. Especially if you have a streaming replicated standby, data that disappears on the master will disappear from the standbyimmediately after. Physical backup and continuous archiving will add this kind of protection to your system. Using 9.1 unfortunately you can'tbenefit from cascading replication using the streaming protocol (introduced in 9.2), however you can look into thepg_basebackup utility for this purpose. Otherwise, there are tools out there that help you achieving these goals, such as OmniPITR (https://github.com/omniti-labs/omnipitr), pg-rman (http://code.google.com/p/pg-rman/), WAL-E (https://github.com/heroku/WAL-E, mainly for Amazon AWS users) and barman (http://www.pgbarman.org/) - to name a few. Being one of the developers, I can definitely recommend Barman. It does not yet support streaming replication, but usuallywith WAL file shipping you can still achieve very good results in terms of Recovery Point Objective (which measuresdata loss). It is very easy to setup, and already has packages for CentOS. I hope this helps. Cheers, Gabriele -- Gabriele Bartolini - 2ndQuadrant Italia PostgreSQL Training, Services and Support Gabriele.Bartolini@2ndQuadrant.it - www.2ndQuadrant.it