Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XbwAS-0003dW-Vh for pgsql-sql@arkaria.postgresql.org; Wed, 08 Oct 2014 18:40:57 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XbwAR-0006AS-Pl for pgsql-sql@arkaria.postgresql.org; Wed, 08 Oct 2014 18:40:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XbwAQ-0006AL-Hj for pgsql-sql@postgresql.org; Wed, 08 Oct 2014 18:40:54 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XbwAL-0004kD-OE for pgsql-sql@postgresql.org; Wed, 08 Oct 2014 18:40:53 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by gateway2.nyi.internal (Postfix) with ESMTP id 7132B20E94 for ; Wed, 8 Oct 2014 14:40:46 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Wed, 08 Oct 2014 14:40:46 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=aklaver.com; h= x-sasl-enc:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=mesmtp; bh=jDroB8f0x8IeILzC62xUyMIRVGY=; b=FbYqnzXm7Wo3yScLrJ +PGB19ePyN8z5xZ1/MjkI2sPWsVB55ilvfFNwVXgibfUWcza4TZeiW8yReFN4pUq nPdQy12E4wDMWhM6fZcjH/wXDSxl2TbgUQ/ZL1wLc2cqy4u3554oWwZEjUE6J9IL 0rzyHcpzVQszv5XKEpv7+5l18= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=jDroB8f0x8IeILzC62xUyM IRVGY=; b=ouvTQughvWfVvKRd8U5Pp7rGx5zJRG7W0Q5V9n8slf28zzcPtMIFlA 2pTNZMdMeGddPqDU1KHV81opjtzCmN7/ZoLngUezhnc0QG1WsotSYwWYwqQk7AAe EiaWLt3+/Lhoylc2V2CDsIcm1rQPLcFhsTGVKM4djEgLlSbL6b8eE= X-Sasl-enc: Cdxq8TxA5Yx3qrYj7tRKxPVEwl5B0Yq7gVXOr0Uazjmb 1412793646 Received: from killi.site (unknown [24.17.179.185]) by mail.messagingengine.com (Postfix) with ESMTPA id F04A768016E; Wed, 8 Oct 2014 14:40:45 -0400 (EDT) Message-ID: <54358537.4040906@aklaver.com> Date: Wed, 08 Oct 2014 11:40:55 -0700 From: Adrian Klaver User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: jim_yates , pgsql-sql@postgresql.org Subject: Re: could not access status of transaction pg_multixact issue References: <1412791213607-5822248.post@n5.nabble.com> In-Reply-To: <1412791213607-5822248.post@n5.nabble.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.7 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-sql Precedence: bulk Sender: pgsql-sql-owner@postgresql.org On 10/08/2014 11:00 AM, jim_yates wrote: > I have this issue for 1 table. Version is 9.3.5 upgraded from 9.2 with > pg_upgrade a few months ago. > > This issues just started in the last couple of days. > > acustream=# SELECT count(*) from phyorg_charges_to_invoice; > ERROR: could not access status of transaction 267035 > DETAIL: Could not open file "pg_multixact/members/10AD6": No such file or > directory. > > This error happens when I try and select or vacuum the table. Inserts still > work. I have a hot standby database and I can recover the data from there. > Is there any work around for this? > http://www.postgresql.org/docs/9.3/interactive/release-9-3-5.html E.1.2. Changes In pg_upgrade, remove pg_multixact files left behind by initdb (Bruce Momjian) If you used a pre-9.3.5 version of pg_upgrade to upgrade a database cluster to 9.3, it might have left behind a file $PGDATA/pg_multixact/offsets/0000 that should not be there and will eventually cause problems in VACUUM. However, in common cases this file is actually valid and must not be removed. To determine whether your installation has this problem, run this query as superuser, in any database of the cluster: 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_0000_removal_required; If this query returns t, manually remove the file $PGDATA/pg_multixact/offsets/0000. Do nothing if the query returns f. -- Adrian Klaver adrian.klaver@aklaver.com -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql