Re: Streaming basebackups vs pg_stat_tmp

From: David Steele <david(at)pgmasters(dot)net>
To: Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Subject: Re: Streaming basebackups vs pg_stat_tmp
Date: 2016-10-28 12:44:30
Message-ID: 7ecf89b8-e6bb-1b82-cef0-4f2320bfcd71@pgmasters.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/28/16 11:53 AM, Magnus Hagander wrote:
> In 9.6 and earlier, if you change pg_stat_tmp to be a symlink,
> basebackups no longer work. That's because we create symlink entry in
> the tarfile for it instead of an empty directory, but with no data,
> which Breaks Everything (TM).
>
> This was fixed in head in 6ad8ac60, which introduced "more excludes",
> due to the refactoring. That commit message refers to it also fixing
> this bug, but it seems the bugfix was never backpatched.
>
> Or did I miss something?

I don't think so. I guess it got lost in the CF rush and also slipped
my mind when I reviewed the final commit.

> Attached patch fixds this (based on 9.5 which is where I ran into it,
> but it needs to go in other back branches as well) by bringing back a
> (modified) version of the functoin _tarWriteDir() to the back branches.
>
> I'd appreciate a look-over before committing, but it works fine in my tests.

The patch looks sane to me, but I think it would be good to backpatch
the TAP test from the exclusion patch that tests pg_replslot as a symlink.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2016-10-28 12:46:02 Overlook in 2bd9e412?
Previous Message Robert Haas 2016-10-28 12:39:35 Re: Fast Default WIP patch for discussion