Re: "Resurrected" data files - problem?

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Simon Riggs *EXTERN*" <simon(at)2ndquadrant(dot)com>
Cc: "Tom Lane *EXTERN*" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Peter Childs" <peterachilds(at)gmail(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: "Resurrected" data files - problem?
Date: 2007-11-09 09:28:39
Message-ID: D960CB61B694CF459DCFB4B0128514C28800C8@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Simon Riggs wrote:
>>>>>>> So if we perform our database backups with incremental
>>>>>>> backups as described above, we could end up with additional
>>>>>>> files after the restore, because PostgreSQL files can get
>>>>>>> deleted (e.g. during DROP TABLE or TRUNCATE TABLE).
>>>>>>>
>>>>>>> Could such "resurrected" files (data files, files in
>>>>>>> pg_xlog, pg_clog or elsewhere) cause a problem for
>>>>>>> the database?
>>>
>>> The backup is not instantaneous, so there is no single time
>>> at which the hot backup takes place. So deciding whether
>>> a file has changed based upon a comparison of two file timestamps
>>> cannot work. You would need to take timestamps for the file both
>>> before the pg_start_backup() and after the pg_stop_backup()
>>> of the file for both full and incremental backups.
>>> If all four timestamps are equivalent, then you are safe.

I think that understanding is finally dawning here.

The problem you see is that the backup software might decide
that the file has not been changed, skip it and go on backing
up other files, but the file can still be modified before
pg_stop_backup(), correct?

Sorry for being such a blockhead, I can see now why this
is a bad idea.

Thanks for the patience,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Simon Riggs 2007-11-09 09:49:11 Re: "Resurrected" data files - problem?
Previous Message Christian Schröder 2007-11-09 08:41:43 Re: (Never?) Kill Postmaster?