Received: from localhost (unknown [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id AAC63633066 for ; Thu, 12 Feb 2009 17:39:56 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 62275-05 for ; Thu, 12 Feb 2009 17:39:53 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by mail.postgresql.org (Postfix) with ESMTP id 22EF6633056 for ; Thu, 12 Feb 2009 17:39:52 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.2/8.14.2) with ESMTP id n1CLdiNS017205; Thu, 12 Feb 2009 16:39:44 -0500 (EST) To: John Lister cc: pgsql-admin@postgresql.org Subject: Re: database corruption help In-reply-to: <4994906B.6090408@kickstone.com> References: <507152DDF8AB4DF093BD01A8BEC7C659@squarepi.com> <17205.1234200693@sss.pgh.pa.us> <4990840C.4090900@kickstone.com> <20151.1234208044@sss.pgh.pa.us> <49908D72.7040904@kickstone.com> <25753.1234224090@sss.pgh.pa.us> <4991338B.704@kickstone.com> <4994906B.6090408@kickstone.com> Comments: In-reply-to John Lister message dated "Thu, 12 Feb 2009 21:11:07 +0000" Date: Thu, 12 Feb 2009 16:39:44 -0500 Message-ID: <17204.1234474784@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200902/84 X-Sequence-Number: 31305 John Lister writes: > I seem to have more dead rows now.. > doing a vacuum full on pg_class gives me > INFO: vacuuming "pg_catalog.pg_class"INFO: "pg_class": found 37 > removable, 1845 nonremovable row versions in 18905 pages > DETAIL: 27 dead row versions cannot be removed yet. > Nonremovable row versions range from 160 to 229 bytes long. > There were 933834 unused item pointers. > Total free space (including removable row versions) is 150368692 bytes. > 18839 pages are or will become empty, including 0 at the end of the table. > 0 pages containing 0 free bytes are potential move destinations. Hmm, that last seems to indicate that do_shrinking has been reset. It looks like the cases where that happens are reported with elog(LOG) which means they probably only went to the postmaster log (maybe we should fix things so that vacuum verbose reports those). What have you got in the postmaster log? regards, tom lane