summaryrefslogtreecommitdiff
path: root/contrib/pgstattuple/README.pgstattuple
blob: 6a191e9cced316a92f532536d74b67f21cd34a81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.