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

Поиск
Список
Период
Сортировка
От Andreas Joseph Krogh
Тема Re: row-attribute in EXPLAIN-output doesn't match count(*)
Дата
Msg-id 200504141921.38476.andreak@officenet.no
обсуждение исходный текст
Ответ на Re: row-attribute in EXPLAIN-output doesn't match count(*)  (Richard Huxton <dev@archonet.com>)
Ответы Re: row-attribute in EXPLAIN-output doesn't match count(*)  (Andrew Sullivan <ajs@crankycanuck.ca>)
Re: row-attribute in EXPLAIN-output doesn't match count(*)  (Richard Huxton <dev@archonet.com>)
Список 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@officenet.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 |                                             |
------------------------+---------------------------------------------+


В списке pgsql-sql по дате отправления:

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: row-attribute in EXPLAIN-output doesn't match count(*)
Следующее
От: Andrew Sullivan
Дата:
Сообщение: Re: row-attribute in EXPLAIN-output doesn't match count(*)