Re: PATCH: Exclude unlogged tables from base backups

From: David Steele <david(at)pgmasters(dot)net>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: Exclude unlogged tables from base backups
Date: 2017-12-12 23:18:09
Message-ID: 35ea14df-e481-34d5-b636-35038dd568a3@pgmasters.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 12/12/17 6:07 PM, Andres Freund wrote:
>>
>> I don't see this as any different than what happens during recovery. The
>> unlogged forks are cleaned / re-inited before replay starts which is the
>> same thing we are doing here.
>
> It's quite different - in the recovery case there's no other write
> activity going on. But on a normally running cluster the persistence of
> existing tables can get changed, and oids can get recycled. What
> guarantees that between the time you checked for the init fork the table
> hasn't been dropped, the oid reused and now a permanent relation is in
> its place?

Well, that's a good point!

How about rechecking the presence of the init fork after a main/other
fork has been found? Is it possible for an init fork to still be lying
around after an oid has been recycled? Seems like it could be...

--
-David
david(at)pgmasters(dot)net

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-12-12 23:21:20 Re: Leftover reference to replacement selection 1 run case
Previous Message Michael Paquier 2017-12-12 23:08:50 Re: PATCH: Exclude unlogged tables from base backups