Skip site navigation (1) Skip section navigation (2)

Re: Backup of live database

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Steve Holdoway <steve(dot)holdoway(at)firetrust(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Backup of live database
Date: 2008-01-16 15:19:12
Message-ID: 23635.1200496752@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-admin
Steve Holdoway <steve(dot)holdoway(at)firetrust(dot)com> writes:
> You can be absolutely certain that the tar backup of a file that's changed is a complete waste of time. Because it changed while you were copying it. 

That is, no doubt, the reasoning that prompted the gnu tar people to
make it do what it does, but it has zero to do with reality for
Postgres' usage in PITR base backups.  What we care about is consistency
on the page level: as long as each page of the backed-up file correctly
represents *some* state of that page while the backup was in progress,
everything is okay, because replay of the WAL log will correct any pages
that are out-of-date, missing, or shouldn't be there at all.  And
Postgres always writes whole pages.  So as long as write() and read()
are atomic --- which is the case on all Unixen I know of --- everything
works.

(Thinks for a bit...) Actually I guess there's one extra assumption in
there, which is that tar must issue its reads in multiples of our page
size.  But that doesn't seem like much of a stretch.

			regards, tom lane

In response to

Responses

pgsql-admin by date

Next:From: Peter EisentrautDate: 2008-01-16 15:39:11
Subject: Re: Backup of live database
Previous:From: Joshua D. DrakeDate: 2008-01-16 14:59:41
Subject: Re: Backup of live database

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group