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