Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VqBh7-0006On-Sw for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Dec 2013 01:01:02 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VqBh7-000479-8X for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Dec 2013 01:01:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VqBh6-000472-8j for pgsql-bugs@postgresql.org; Tue, 10 Dec 2013 01:01:00 +0000 Received: from moutng.kundenserver.de ([212.227.126.171]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VqBh2-00066y-IB for pgsql-bugs@postgresql.org; Tue, 10 Dec 2013 01:00:59 +0000 Received: from anarazel.de (p5DDC4910.dip0.t-ipconnect.de [93.220.73.16]) by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis) id 0MaX6b-1WACS62ycr-00KQlj; Tue, 10 Dec 2013 02:00:55 +0100 Received: by anarazel.de (Postfix, from userid 1000) id 01114100BC9; Tue, 10 Dec 2013 02:00:54 +0100 (CET) Date: Tue, 10 Dec 2013 02:00:54 +0100 From: Andres Freund To: Alvaro Herrera Cc: Serge Negodyuck , pgsql-bugs@postgresql.org Subject: Re: BUG #8673: Could not open file "pg_multixact/members/xxxx" on slave during hot_standby Message-ID: <20131210010054.GE27840@awork2.anarazel.de> References: <20131209142525.GA1123@awork2.anarazel.de> <20131209150345.GB1123@awork2.anarazel.de> <20131209182701.GD9519@awork2.anarazel.de> <20131209190031.GK6777@eldon.alvh.no-ip.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131209190031.GK6777@eldon.alvh.no-ip.org> X-Provags-ID: V02:K0:WSAiB52ukAjRBnEVTxUQqxgTjSoEFC/FdZdcJtIW81k obAECsILVA+gUtFByiSVvD0Oo2EzJVxWOzdg/uhD5Y/3NLANZc jW9lvxeT/get/1Vro0Rfk3FNwhxxetzkbm0vocBFACokiZvuIz aLN26oAY/QvnCenAYodeRsEmgwIF+iFXEmbFxhq8FJLZvx/GMc LFDOGqxsqp7N1cqvbbNQZpTQHaIP6ogCGxXTsijXTt81IZc+ZY ofpj2NLdyR76RInYQtnqvy9lQR9jiElw4pN95z3/e4hLAGZCn1 iq4fNzQLT6axyDQwXsyyBdORMzzaREfpQoyQUDzHXdaC9GGsVR DHsb3mOczP8azjruoyQlNGhwsCaJ0ucEJcPjMjE6s 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 2013-12-09 16:00:32 -0300, Alvaro Herrera wrote: > As a note, the SlruScanDirectory code has a flaw because it only looks > at four-digit files; the reason only files up to 0xFFFF are missing and > not the following ones is because those got ignored. This needs a fix > as well. While I agree it's a bug, I don't think it's relevant for the case at hand. For offset's there's no following page (or exactly 1, not sure about the math offhand), and we only use SlruScanDirectory() for offsets not for members. > > I've recently remarked that I find it dangerous that we only do > > anti-wraparound stuff for pg_multixact/offsets, not for /members. So, > > here we have the proof that that's bad. > > It's hard to see how to add this post-facto, though. I mean, I am > thinking we would need some additional pg_control info etc. We'd better > figure out a way to add such controls without having to add that. Couldn't we just get the oldest multi, check where in offsets it points to, and compare that with nextOffset? That should be doable without additional data. > > I think problems should be preventable if you issue a systemwide VACUUM > > FREEZE, but please let others chime in before you execute it. > > I wouldn't freeze anything just yet, at least until the patch to fix > multixact freezing is in. Well, it seems better than getting errors because of multixact members that are gone. Maybe PGOPTIONS='-c vacuum_freez_table_age=0 -c vacuum_freeze_min_age=1000000 vacuumdb -a' - that ought not to cause problems with current data and should freeze enough to get rid of problematic multis? Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs