Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format. - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format.
Date
Msg-id CA+Tgmoa7u6Ec7oDMOO9p09Q6Sar2D5pyXsrt6Z_F2tv7P+7sUQ@mail.gmail.com
Whole thread Raw
Responses Re: Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format.  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
On Tue, Apr 26, 2016 at 8:45 PM, Bruce Momjian <bruce@momjian.us> wrote:
> On Fri, Mar 11, 2016 at 05:36:34PM +0000, Robert Haas wrote:
>> pg_upgrade: Convert old visibility map format to new format.
>>
>> Commit a892234f830e832110f63fc0a2afce2fb21d1584 added a second bit per
>> page to the visibility map, but pg_upgrade has been unaware of it up
>> until now.  Therefore, a pg_upgrade from an earlier major release of
>> PostgreSQL to any commit preceding this one and following the one
>> mentioned above would result in invalid visibility map contents on the
>> new cluster, very possibly leading to data corruption.  This plugs
>> that hole.
>>
>> Masahiko Sawada, reviewed by Jeff Janes, Bruce Momjian, Simon Riggs,
>> Michael Paquier, Andres Freund, me, and others.
>
> I have tested the current git trees of all supported versions of
> Postgres in all possible pg_upgrade combinations and they all worked
> perfectly.

That's good!

All the commits related to this topic could use extra-careful review
and testing.  If Masahiko-san got anything wrong, or I did, this could
eat people's data in ways that are very hard to track down.

So I hope we were both extra-smart while working on this patch.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Noah Misch
Date:
Subject: Re: Timeline following for logical slots
Next
From: Bruce Momjian
Date:
Subject: Re: Background Processes and reporting