Re: unused item pointers? - Mailing list pgsql-performance

From Tom Lane
Subject Re: unused item pointers?
Date
Msg-id 28371.1124772129@sss.pgh.pa.us
Whole thread Raw
In response to unused item pointers?  (Alan Stange <stange@rentec.com>)
List pgsql-performance
Alan Stange <stange@rentec.com> writes:
> INFO: "tbltimeseries": found 8610108 removable, 26165807 nonremovable
> row versions in 5744789 pages
> DETAIL: 0 dead row versions cannot be removed yet.
> There were 235555635 unused item pointers.
> 0 pages are entirely empty.

The item pointers themselves are not very interesting --- at 4 bytes
apiece, they're only accounting for 2% of the table space.  However
the fact that there are nearly 10x more unused than used ones suggests
that this table is suffering a pretty serious bloat problem.  Assuming
constant-width rows in the table, that implies something like 90% of
the space in the table is unused.  (contrib/pgstattuple might be useful
to confirm this estimate.)

VACUUM FULL, or perhaps better CLUSTER, would get you out of that.  And
yes, you will need to vacuum more often afterwards if you want to keep
the bloat under control.

            regards, tom lane

pgsql-performance by date:

Previous
From: Alan Stange
Date:
Subject: unused item pointers?
Next
From: Josh Berkus
Date:
Subject: Re: pgbench