Re: Renaming of pg_xlog and pg_clog - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Renaming of pg_xlog and pg_clog
Date
Msg-id CAB7nPqSHvZnbrfk0c=1ur3EnO-Na3_tZVz9j+V7j12k4_1+8VA@mail.gmail.com
Whole thread Raw
In response to Re: Renaming of pg_xlog and pg_clog  (Craig Ringer <craig.ringer@2ndquadrant.com>)
Responses Re: Renaming of pg_xlog and pg_clog  (Craig Ringer <craig.ringer@2ndquadrant.com>)
List pgsql-hackers
On Mon, Aug 29, 2016 at 5:28 PM, Craig Ringer
<craig.ringer@2ndquadrant.com> wrote:
> On 29 August 2016 at 14:30, Michael Paquier <michael.paquier@gmail.com> wrote:
>> On Mon, Aug 29, 2016 at 2:36 PM, Craig Ringer
>> <craig.ringer@2ndquadrant.com> wrote:
>>> I don't care if it comes as part of some greater reorg or not but I'll be
>>> really annoyed if scope creep lands up killing the original proposal to just
>>> rename these dirs. I think that a simple rename should be done first. Then
>>> if some greater reorg is to be done it can be done shortly after. The only
>>> people that'll upset are folks tracking early 10.0 dev and they'll be aware
>>> it's coming.
>>
>> Okay, so let's do it. Attached are two patches:
>> - 0001 renames pg_clog to pg_trans. I have let clog.c with its current
>> name, as well as its structures. That's the mechanical patch, the ony
>> interesting part being in pg_upgrade.
>> - 0002 renames pg_xlog to pg_wal.
>
> Is there any expectation that a 10.0 pg_basebackup should work on a
> 9.x server, or fail to work gracefully? There doesn't look to be any
> version specific handling of the rename there.

Oops. Per the docs:
pg_basebackup works with servers of the same or an older major
version, down to 9.1. However, WAL streaming mode (-X stream) only
works with server version 9.3 and later, and tar format mode
(--format=tar) of the current version only works with server version
9.5 or later.

So we need to do a bit better than what the patch proposes, but that's
actually just tweaking the things with pg_xlog/pg_wal depending on the
version of the target server.

> The patch does not update the translations. I wonder if it's worth
> doing so to save translators the hassle by sed'ing the following
> lines:
>     sed -i 's/\<pg_xlog\>/pg_wal/g' src/backend/po/*.po
> ?

Yes I was wondering about that... But concluded that normally the
translation updates would just do it. It is not complicated to update
if need be anyway.

> src/backend/access/transam/README should probably have a note about the rename.

Good idea.

> Looks like changes in pg_upgrade for clog are a bit more than the
> mechanical changes elsewhere, but seem sensible to me. I haven't yet
> done a test pg_upgrade run.

I have tested that FWIW using 10devel -> 10devel, 9.5 -> 10devel, 9.4
-> 10devel. There are versions of 10devel using pg_xlog and others
pg_wal if this patch is introduced. I am aware of the fact that
pg_upgrade supports upgrades for the same major version though it
seems to me that we would not want to support this scenario, which is
why it would be good to get this patch at the beginning of the dev
cycle.
-- 
Michael



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: [COMMITTERS] pgsql: Fix pg_receivexlog --synchronous
Next
From: Craig Ringer
Date:
Subject: Re: Renaming of pg_xlog and pg_clog