Re: row-attribute in EXPLAIN-output doesn't match count(*) - Mailing list pgsql-sql

From Richard Huxton
Subject Re: row-attribute in EXPLAIN-output doesn't match count(*)
Date
Msg-id 425EA496.2030501@archonet.com
Whole thread Raw
In response to row-attribute in EXPLAIN-output doesn't match count(*)  (Andreas Joseph Krogh <andreak@officenet.no>)
Responses Re: row-attribute in EXPLAIN-output doesn't match count(*)  (Andreas Joseph Krogh <andreak@officenet.no>)
List pgsql-sql
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.

--   Richard Huxton  Archonet Ltd


pgsql-sql by date:

Previous
From: Andrew Sullivan
Date:
Subject: Re: row-attribute in EXPLAIN-output doesn't match count(*)
Next
From: Andreas Joseph Krogh
Date:
Subject: Re: row-attribute in EXPLAIN-output doesn't match count(*)