Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Wy3Fb-0006Mg-F8 for pgsql-bugs@arkaria.postgresql.org; Fri, 20 Jun 2014 18:09:23 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1Wy3Fa-0004xL-W5 for pgsql-bugs@arkaria.postgresql.org; Fri, 20 Jun 2014 18:09:23 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1Wy3Fa-0004xA-8K for pgsql-bugs@postgresql.org; Fri, 20 Jun 2014 18:09:22 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1Wy3FX-0003nN-7g for pgsql-bugs@postgresql.org; Fri, 20 Jun 2014 18:09:20 +0000 Received: from bruce by momjian.us with local (Exim 4.72) (envelope-from ) id 1Wy3FW-0002Lo-BU; Fri, 20 Jun 2014 14:09:18 -0400 Date: Fri, 20 Jun 2014 14:09:18 -0400 From: Bruce Momjian To: Alvaro Herrera Cc: Andres Freund , PostgreSQL Bugs Subject: Re: pg_upgrade < 9.3 -> >=9.3 misses a step around multixacts Message-ID: <20140620180918.GE29143@momjian.us> References: <20140619020633.GA20469@momjian.us> <20140619015205.GD3806@momjian.us> <20140619014034.GC3806@momjian.us> <20140619220425.GQ18688@eldon.alvh.no-ip.org> <20140619221240.GC27747@eldon.alvh.no-ip.org> <20140620171915.GC29143@momjian.us> <20140620173351.GV18688@eldon.alvh.no-ip.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140620173351.GV18688@eldon.alvh.no-ip.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-bugs Precedence: bulk Sender: pgsql-bugs-owner@postgresql.org On Fri, Jun 20, 2014 at 01:33:52PM -0400, Alvaro Herrera wrote: > Bruce Momjian wrote: > > On Thu, Jun 19, 2014 at 06:12:41PM -0400, Alvaro Herrera wrote: > > > BTW I hacked up pg_resetxlog a bit to make it generate the necessary > > > pg_multixact/offset file when -m is given. This is not acceptable for > > > commit because it duplicates the #defines from pg_multixact.c, but maybe > > > we want this functionality enough that we're interested in a more > > > complete version of this patch; also it unconditionally writes one zero > > > byte to the file, which is of course wrong if the file exists and > > > already contains data. > > > > Why would we want this if the system functions fine without those files > > being created? I don't think we want pg_resetxlog to be doing anything > > except changing pg_controldata. > > I don't understand why you say the system functions fine. If you move > the multixactid with pg_resetxlog to a point which doesn't have the > necessary file and page, the system will not start. Only pg_upgrade > knows to create the file appropriately, but normal operation doesn't. True, but who would change the multi-xact except pg_upgrade, and would you want pg_resetxlog to be changing other files in the file system, perhaps as part of some disaster recovery operation? The larger question is whether the backend code should more cleanly handle such cases. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs