From: | Andreas Joseph Krogh <andreak(at)officenet(dot)no> |
---|---|
To: | Richard Huxton <dev(at)archonet(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: row-attribute in EXPLAIN-output doesn't match count(*) |
Date: | 2005-04-14 17:21:38 |
Message-ID: | 200504141921.38476.andreak@officenet.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Thursday 14 April 2005 19:12, Richard Huxton wrote:
> Andreas Joseph Krogh wrote:
> > Hi everybody, I have table which inly has 298 rows in it, but EXPLAIN
> > ANALYZE shows that PG thinks it has as much as 160057 rows AFAICT from
> > the EXPLAIN-output.
> >
> >
> > I've just run a "VACUUM FULL VERBOSE" on the whole database, which gave
> > the following output on the relevant table(onp_web_index):
> >
> > INFO: vacuuming "public.onp_web_index"
> > INFO: "onp_web_index": found 0 removable, 160057 nonremovable row
> > versions in 206940 pages
> > DETAIL: 159759 dead row versions cannot be removed yet.
>
> A long-lived transaction can still see these row versions, so vacuum
> can't delete them. Until that transaction is committed/rolled back PG
> has to keep the old versions of those rows available, because it might
> be able to see them.
>
> So - do you have an application/client that has had a single transaction
> open for a long time. A very long time unless you update this table a lot.
Hm, it's a web-app, and I don't hold a transaction open for a long time on
purpose, but I have a line which says "idle in transaction" fromn "ps":
postgres 2754 1646 0 Apr06 ? 00:00:07 postgres: nbe nbeweb 127.0.0.1
idle in transaction
And by the way, I lied about the PG-version, it's 7.4.5, not 8.0.0
So, what you're suggesting is that a restart of the webapp should make vacuum
able to delete those dead rows?
--
Andreas Joseph Krogh <andreak(at)officenet(dot)no>
Senior Software Developer / Manager
gpg public_key: http://dev.officenet.no/~andreak/public_key.asc
------------------------+---------------------------------------------+
OfficeNet AS | The most difficult thing in the world is to |
Hoffsveien 17 | know how to do a thing and to watch |
PO. Box 425 Skøyen | somebody else doing it wrong, without |
0213 Oslo | comment. |
NORWAY | |
Phone : +47 22 13 01 00 | |
Direct: +47 22 13 10 03 | |
Mobile: +47 909 56 963 | |
------------------------+---------------------------------------------+
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Sullivan | 2005-04-14 17:33:58 | Re: row-attribute in EXPLAIN-output doesn't match count(*) |
Previous Message | Richard Huxton | 2005-04-14 17:12:54 | Re: row-attribute in EXPLAIN-output doesn't match count(*) |