Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1WzX6F-0001iH-BE for pgsql-bugs@arkaria.postgresql.org; Tue, 24 Jun 2014 20:13:51 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1WzX6E-000280-S5 for pgsql-bugs@arkaria.postgresql.org; Tue, 24 Jun 2014 20:13:50 +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 1WzX6E-00027r-40 for pgsql-bugs@postgresql.org; Tue, 24 Jun 2014 20:13:50 +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 1WzX6B-00025j-3v for pgsql-bugs@postgresql.org; Tue, 24 Jun 2014 20:13:48 +0000 Received: from bruce by momjian.us with local (Exim 4.72) (envelope-from ) id 1WzX6A-0005aj-7Q; Tue, 24 Jun 2014 16:13:46 -0400 Date: Tue, 24 Jun 2014 16:13:46 -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: <20140624201346.GB17110@momjian.us> References: <20140619020633.GA20469@momjian.us> <20140619015205.GD3806@momjian.us> <20140619014034.GC3806@momjian.us> <20140619220425.GQ18688@eldon.alvh.no-ip.org> <20140620010653.GS18688@eldon.alvh.no-ip.org> <20140620180725.GD29143@momjian.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140620180725.GD29143@momjian.us> 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 02:07:25PM -0400, Bruce Momjian wrote: > On Thu, Jun 19, 2014 at 09:06:54PM -0400, Alvaro Herrera wrote: > > Alvaro Herrera wrote: > > > Bruce Momjian wrote: > > > > > Bruce Momjian wrote: > > > > > > > > OK, so the xid has to be beyond 2^31 during pg_upgrade to trigger a > > > > > problem? That might explain the rare reporting of this bug. What would > > > > > the test query look like so we can tell people when to remove the '0000' > > > > > files? Would we need to see the existence of '0000' and high-numbered > > > > > files? How high? What does a 2^31 file look like? > > > > > > > > Also, what would a legitimate 0000 file at wrap-around time look like? > > > > Would there have to be an 'ffff' or 'ffffff' file? > > > > > > Since I was wrong, there is no point in further research here. Anyway > > > the last file before wrapping around in pg_multixact/members is FFFF. > > > > Oops, I meant the last file before wrap in pg_multixact/offsets is FFFF, > > which is what we're talking about in this thread. > > > > For members it's 14078, but it's not relevant here. > > OK, so the next questions is, what will the minor-release-note query we > give users to test this look like? Do we expect no gaps in numbering? > Is it enough to test for the existance of '0000' and lack of '0001' and > 'FFFF'? Basically, if we expect no gaps in normal numbering, then a > '0000' with no number after it and no wrap-around number before it means > the '0000' is left over from initdb and can be removed. Assuming this is true, here is a query we can put in the next 9.3 minor release notes to tell users if they need to remove the '0000' file: WITH list(file) AS ( SELECT * FROM pg_ls_dir('pg_multixact/offsets') ) SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND EXISTS (SELECT * FROM list WHERE file != '0000') AS file_removal_needed; Do they need to remove the members/0000 file too? -- 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