1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
12
TITLE="PostgreSQL 9.1beta1 Documentation"
13
HREF="index.html"><LINK
15
TITLE="Additional Supplied Modules"
16
HREF="contrib.html"><LINK
18
TITLE="pg_stat_statements"
19
HREF="pgstatstatements.html"><LINK
22
HREF="pgtestfsync.html"><LINK
25
HREF="stylesheet.css"><META
26
HTTP-EQUIV="Content-Type"
27
CONTENT="text/html; charset=ISO-8859-1"><META
29
CONTENT="2011-04-27T21:20:33"></HEAD
35
SUMMARY="Header navigation table"
47
>PostgreSQL 9.1beta1 Documentation</A
56
TITLE="pg_stat_statements"
57
HREF="pgstatstatements.html"
66
TITLE="Additional Supplied Modules"
74
>Appendix F. Additional Supplied Modules</TD
80
TITLE="Additional Supplied Modules"
90
HREF="pgtestfsync.html"
105
>F.33. pgstattuple</A
111
> module provides various functions to
112
obtain tuple-level statistics.
120
>F.33.1. Functions</A
130
>pgstattuple(text) returns record</CODE
137
> returns a relation's physical length,
141
> tuples, and other info. This may help users
142
to determine whether vacuum is necessary or not. The argument is the
143
target relation's name (optionally schema-qualified).
146
CLASS="PROGRAMLISTING"
147
>test=> SELECT * FROM pgstattuple('pg_catalog.pg_proc');
148
-[ RECORD 1 ]------+-------
152
tuple_percent | 95.67
153
dead_tuple_count | 11
154
dead_tuple_len | 3157
155
dead_tuple_percent | 0.69
157
free_percent | 1.95</PRE
159
The output columns are described in <A
160
HREF="pgstattuple.html#PGSTATTUPLE-COLUMNS"
167
NAME="PGSTATTUPLE-COLUMNS"
179
><COL><COL><COL><THEAD
202
>Physical relation length in bytes</TD
216
>Number of live tuples</TD
230
>Total length of live tuples in bytes</TD
244
>Percentage of live tuples</TD
250
>dead_tuple_count</TT
258
>Number of dead tuples</TD
272
>Total length of dead tuples in bytes</TD
278
>dead_tuple_percent</TT
286
>Percentage of dead tuples</TD
300
>Total free space in bytes</TD
314
>Percentage of free space</TD
323
> acquires only a read lock on the
324
relation. So the results do not reflect an instantaneous snapshot;
325
concurrent updates will affect them.
331
> judges a tuple is <SPAN
337
>HeapTupleSatisfiesNow</CODE
344
>pgstattuple(oid) returns record</CODE
348
> This is the same as <CODE
350
>pgstattuple(text)</CODE
352
that the target relation is specified by OID.
358
>pgstatindex(text) returns record</CODE
365
> returns a record showing information
366
about a B-tree index. For example:
368
CLASS="PROGRAMLISTING"
369
>test=> SELECT * FROM pgstatindex('pg_cast_oid_index');
370
-[ RECORD 1 ]------+------
379
avg_leaf_density | 50.27
380
leaf_fragmentation | 0</PRE
384
> The output columns are:
387
CLASS="INFORMALTABLE"
396
><COL><COL><COL><THEAD
419
>B-tree version number</TD
433
>Tree level of the root page</TD
447
>Total number of pages in index</TD
461
>Location of root block</TD
478
> (upper-level) pages</TD
492
>Number of leaf pages</TD
506
>Number of empty pages</TD
520
>Number of deleted pages</TD
526
>avg_leaf_density</TT
534
>Average density of leaf pages</TD
540
>leaf_fragmentation</TT
548
>Leaf page fragmentation</TD
561
>, the results are accumulated
562
page-by-page, and should not be expected to represent an
563
instantaneous snapshot of the whole index.
569
>pg_relpages(text) returns bigint</CODE
576
> returns the number of pages in the
592
> Tatsuo Ishii and Satoshi Nagayasu
601
SUMMARY="Footer navigation table"
612
HREF="pgstatstatements.html"
630
HREF="pgtestfsync.html"
640
>pg_stat_statements</TD
b'\\ No newline at end of file'