]> granicus.if.org Git - postgresql/commit
Fix pg_upgrade failure from servers older than 9.3
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 19 Aug 2013 16:33:07 +0000 (12:33 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 19 Aug 2013 16:56:18 +0000 (12:56 -0400)
commit78e1220104227c86b4b49d0fc123db7fa596d43d
tree023052b710d2956bb09a6dd45e378e23bbb3806c
parent1bc5935b67c77f27bf653089e757476cfb4245e1
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
src/backend/access/transam/multixact.c
src/backend/access/transam/slru.c
src/include/access/slru.h