Thread: Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format.
Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format.
From
Robert Haas
Date:
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
Re: Re: [COMMITTERS] pgsql: pg_upgrade: Convert old visibility map format to new format.
From
Masahiko Sawada
Date:
On Wed, Apr 27, 2016 at 10:00 AM, Robert Haas <robertmhaas@gmail.com> wrote: > 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. Thank you for testing! Good news for me. > > 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. > Yeah, we should test this feature in various ways, and I'm going to do so. Regards, -- Masahiko Sawada