postgresql/contrib/pgstattuple/README.pgstattuple
Tom Lane 897083715b Fix pgstattuple to acquire a read lock on the target table. This
prevents embarassments such as having the table dropped or truncated
partway through the scan.  Also, fix free space calculation to include
pages that currently contain no tuples.
2001-12-19 20:28:41 +00:00

48 lines
1.3 KiB
Plaintext

pgstattuple README 2001/10/01 Tatsuo Ishii
1. What is pgstattuple?
pgstattuple returns the percentage of the "dead" tuples of a
table. This will help users to judge if vacuum is needed.
In addition, pgstattuple prints more detailed information using
NOTICE.
test=# select pgstattuple('tellers');
NOTICE: physical length: 0.08MB live tuples: 20 (0.00MB, 1.17%) dead tuples: 320 (0.01MB, 18.75%) free/reusable space: 0.01MB (18.06%) overhead: 62.02%
pgstattuple
-------------
18.75
(1 row)
Above example shows tellers table includes 18.75% dead tuples.
physical length physical size of the table in MB
live tuples information on the live tuples
dead tuples information on the dead tuples
free/reusable space available space
overhead overhead space
2. Installing pgstattuple
$ make
$ make install
$ psql -e -f /usr/local/pgsql/share/contrib/pgstattuple.sql test
3. Using pgstattuple
pgstattuple can be called as a function:
pgstattuple(NAME) RETURNS FLOAT8
The argument is the table name. pgstattuple returns the percentage
of the "dead" tuples of a table.
4. Notes
pgstattuple acquires only a read lock on the table. So concurrent
update may affect the result.
pgstattuple judges a tuple is "dead" if HeapTupleSatisfiesNow()
returns false.