]> 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:29 +0000 (12:56 -0400)
commitb3c55ae0daf230555cb1932ac2c903c3fe7643db
tree8765a984c404d5b067a41cafb875b3e5d8a11d0d
parent064eb5098be5ee74a9dfb6bf090fea699a1be45f
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