Thread: snapshot backup with WAL files

snapshot backup with WAL files

From
Isabella Ghiurea
Date:
Hello Gurus,
I would like to configure  our Pg db for OS  file system snapshot backup
with Pg  WAL files, need to know if would be enough in pg db   to call :
|*SELECT* *pg_start_backup*('pitr_backup');
and next take the snapshot  and after
pg_stop the backup and close the WAL files . During this time  the full
pg  db read/writes will continue.
Are any loss of data we should may be aware during this backup procedure?
env :RHES-64 bits with LVM directories, PG 9.0, the db size >150GB
Thank you
Isabella

|

--
-----------------------------------------------------------
Isabella A. Ghiurea

Isabella.Ghiurea@nrc-cnrc.gc.ca
Canadian Astronomy Data Centre |http://www.nrc-cnrc.gc.ca/eng/services/hia/data-centre.html
National Research Council of Canada, Herzberg Institute of Astrophysics
5071 West Saanich Road, Victoria BC V9E 2E7, Canada
Phone: 250 363-3446 fax: 250 363-0045


Re: snapshot backup with WAL files

From
"Kevin Grittner"
Date:
Isabella Ghiurea <isabella.ghiurea@nrc-cnrc.gc.ca> wrote:

> I would like to configure  our Pg db for OS  file system snapshot
> backup with Pg  WAL files, need to know if would be enough in pg
> db to call :
> |*SELECT* *pg_start_backup*('pitr_backup');
> and next take the snapshot  and after
> pg_stop the backup and close the WAL files . During this time  the
> full pg db read/writes will continue.
> Are any loss of data we should may be aware during this backup
> procedure?
> env :RHES-64 bits with LVM directories, PG 9.0, the db size >150GB

I'm not clear what you mean by "snapshot".  If you're talking about
something which takes an *atomic* snapshot of the entire PostgreSQL
data space, including WAL files, then just taking the snapshot is
enough without any other actions.  Assuming that you are using safe
settings for fsync, full_page_writes, and synchronous_commit, it
will recover all successfully committed transactions and roll back
all others.

If you're talking about tar, cpio, or some other software which is
not atomic, you should follow the instructions in the documentation
for one of the supported techniques completely and carefully:  For
PITR-style backups, that means ensuring that you have a working flow
of WAL files being captured *before* you run pg_start_backup().

http://www.postgresql.org/docs/9.0/interactive/backup.html

-Kevin

Re: snapshot backup with WAL files

From
Robert Treat
Date:
On Fri, Jul 29, 2011 at 11:53 AM, Kevin Grittner
<Kevin.Grittner@wicourts.gov> wrote:
> Isabella Ghiurea <isabella.ghiurea@nrc-cnrc.gc.ca> wrote:
>
>> I would like to configure  our Pg db for OS  file system snapshot
>> backup with Pg  WAL files, need to know if would be enough in pg
>> db to call :
>> |*SELECT* *pg_start_backup*('pitr_backup');
>> and next take the snapshot  and after
>> pg_stop the backup and close the WAL files . During this time  the
>> full pg db read/writes will continue.
>> Are any loss of data we should may be aware during this backup
>> procedure?
>> env :RHES-64 bits with LVM directories, PG 9.0, the db size >150GB
>
> I'm not clear what you mean by "snapshot".  If you're talking about
> something which takes an *atomic* snapshot of the entire PostgreSQL
> data space, including WAL files, then just taking the snapshot is
> enough without any other actions.  Assuming that you are using safe
> settings for fsync, full_page_writes, and synchronous_commit, it
> will recover all successfully committed transactions and roll back
> all others.
>
> If you're talking about tar, cpio, or some other software which is
> not atomic, you should follow the instructions in the documentation
> for one of the supported techniques completely and carefully:  For
> PITR-style backups, that means ensuring that you have a working flow
> of WAL files being captured *before* you run pg_start_backup().
>
> http://www.postgresql.org/docs/9.0/interactive/backup.html
>

Just to chime in, if it's the latter you are trying to do, you can use
the omnipitr scripts to manage this, see
https://github.com/omniti-labs/omnipitr/ for details.


Robert Treat
play: xzilla.net
work: omniti.com

Re: snapshot backup with WAL files

From
Greg Smith
Date:
On 07/29/2011 11:35 AM, Isabella Ghiurea wrote:
> I would like to configure  our Pg db for OS  file system snapshot
> backup with Pg  WAL files, need to know if would be enough in pg db
> to call :
> |*SELECT* *pg_start_backup*('pitr_backup');
> and next take the snapshot  and after
> pg_stop the backup and close the WAL files .

This procedure works fine.  But note that doing this does not eliminate
the need to save log files using the archive_command.  You will end up
with a small number of them, which is an advantage compared to
non-snapshot backup techniques where hundreds of archive logs might
occur during the backup time.  But even with using a snapshot backup,
the small number that are referenced in the backup log are still
necessary for the backup to be useful.

As always, your database backup should not be considered useful until
you've done a successful restore using it.  That would have discovered
this problem during testing.

--
Greg Smith   2ndQuadrant US    greg@2ndQuadrant.com   Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support  www.2ndQuadrant.us