]> granicus.if.org Git - postgresql/commit
pg_upgrade: Convert old visibility map format to new format.
authorRobert Haas <rhaas@postgresql.org>
Fri, 11 Mar 2016 17:28:22 +0000 (12:28 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 11 Mar 2016 17:34:20 +0000 (12:34 -0500)
commit7087166a88fe0c04fc6636d0d6d6bea1737fc1fb
tree94b7681005b94722dab2dab8b3630532e1e78cd3
parent9118d03a8cca3d97327c56bf89a72e328e454e63
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.
src/bin/pg_upgrade/file.c
src/bin/pg_upgrade/pg_upgrade.h
src/bin/pg_upgrade/relfilenode.c