pgsql: Teach ANALYZE to distinguish dead and in-doubt tuples, which it

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Teach ANALYZE to distinguish dead and in-doubt tuples, which it
Date: 2008-04-03 16:27:32
Message-ID: 20080403162732.C0C8D7558E7@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Teach ANALYZE to distinguish dead and in-doubt tuples, which it formerly
classed all as "dead"; also get it to count DEAD item pointers as dead rows,
instead of ignoring them as before. Also improve matters so that tuples
previously inserted or deleted by our own transaction are handled nicely:
the stats collector's live-tuple and dead-tuple counts will end up correct
after our transaction ends, regardless of whether we end in commit or abort.

While there's more work that could be done to improve the counting of in-doubt
tuples in both VACUUM and ANALYZE, this commit is enough to alleviate some
known bad behaviors in 8.3; and the other stuff that's been discussed seems
like research projects anyway.

Pavan Deolasee and Tom Lane

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
pgsql/src/backend/commands:
analyze.c (r1.114 -> r1.114.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c?r1=1.114&r2=1.114.2.1)
pgsql/src/backend/postmaster:
pgstat.c (r1.169 -> r1.169.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c?r1=1.169&r2=1.169.2.1)
pgsql/src/include:
pgstat.h (r1.71 -> r1.71.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/pgstat.h?r1=1.71&r2=1.71.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2008-04-03 16:37:07 pgsql: Add to TODO: > * Improve how ANALYZE computes in-doubt tuples >
Previous Message Tom Lane 2008-04-03 16:27:25 pgsql: Teach ANALYZE to distinguish dead and in-doubt tuples, which it