From: | Tomas Vondra <tv(at)fuzzy(dot)cz> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Serious problem: media recovery fails after system or PostgreSQL crash |
Date: | 2012-12-06 23:52:12 |
Message-ID: | 50C12FAC.1010503@fuzzy.cz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 6.12.2012 23:45, MauMau wrote:
> From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
>> Well, that's unfortunate, but it's not clear that automatic recovery is
>> possible. The only way out of it would be if an undamaged copy of the
>> segment was in pg_xlog/ ... but if I recall the logic correctly, we'd
>> not even be trying to fetch from the archive if we had a local copy.
>
> No, PG will try to fetch the WAL file from pg_xlog when it cannot get it
> from archive. XLogFileReadAnyTLI() does that. Also, PG manual contains
> the following description:
>
> http://www.postgresql.org/docs/9.1/static/continuous-archiving.html#BACKUP-ARCHIVING-WAL
>
>
> WAL segments that cannot be found in the archive will be sought in
> pg_xlog/; this allows use of recent un-archived segments. However,
> segments that are available from the archive will be used in preference
> to files in pg_xlog/.
So why don't you use an archive command that does not create such
incomplete files? I mean something like this:
archive_command = 'cp %p /arch/%f.tmp && mv /arch/%f.tmp /arch/%f'
Until the file is renamed, it's considered 'incomplete'.
Tomas
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2012-12-06 23:59:06 | Re: -DCLOBBER_CACHE_ALWAYS shows COPY FREEZE regression problem |
Previous Message | Andrew Dunstan | 2012-12-06 23:28:38 | -DCLOBBER_CACHE_ALWAYS shows COPY FREEZE regression problem |