Fix pg_upgrade failure from servers older than 9.3
When upgrading from servers of versions 9.2 and older, and MultiXactIds
have been used in the old server beyond the first page (that is, 2048
multis or more in the default 8kB-page build), pg_upgrade would set the
next multixact offset to use beyond what has been allocated in the new
cluster. This would cause a failure the first time the new cluster
needs to use this value, because the pg_multixact/offsets/ file wouldn't
exist or wouldn't be large enough. To fix, ensure that the transient
server instances launched by pg_upgrade extend the file as necessary.
Per report from Jesse Denardo in
CANiVXAj4c88YqipsyFQPboqMudnjcNTdB3pqe8ReXqAFQ=HXyA@mail.gmail.com
Branch
------
REL9_3_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/b3c55ae0daf230555cb1932ac2c903c3fe7643db
Modified Files
--------------
src/backend/access/transam/multixact.c | 47 ++++++++++++++++++++++++++++++++
src/backend/access/transam/slru.c | 44 ++++++++++++++++++++++++++++++
src/include/access/slru.h | 1 +
3 files changed, 92 insertions(+)