~ubuntu-branches/ubuntu/oneiric/postgresql-9.1/oneiric-security

« back to all changes in this revision

Viewing changes to doc/src/sgml/html/pgstattuple.html

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2011-05-11 10:41:53 UTC
  • Revision ID: james.westby@ubuntu.com-20110511104153-psbh2o58553fv1m0
Tags: upstream-9.1~beta1
ImportĀ upstreamĀ versionĀ 9.1~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
2
<HTML
 
3
><HEAD
 
4
><TITLE
 
5
>pgstattuple</TITLE
 
6
><META
 
7
NAME="GENERATOR"
 
8
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 
9
REV="MADE"
 
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
 
11
REL="HOME"
 
12
TITLE="PostgreSQL 9.1beta1 Documentation"
 
13
HREF="index.html"><LINK
 
14
REL="UP"
 
15
TITLE="Additional Supplied Modules"
 
16
HREF="contrib.html"><LINK
 
17
REL="PREVIOUS"
 
18
TITLE="pg_stat_statements"
 
19
HREF="pgstatstatements.html"><LINK
 
20
REL="NEXT"
 
21
TITLE="pg_test_fsync"
 
22
HREF="pgtestfsync.html"><LINK
 
23
REL="STYLESHEET"
 
24
TYPE="text/css"
 
25
HREF="stylesheet.css"><META
 
26
HTTP-EQUIV="Content-Type"
 
27
CONTENT="text/html; charset=ISO-8859-1"><META
 
28
NAME="creation"
 
29
CONTENT="2011-04-27T21:20:33"></HEAD
 
30
><BODY
 
31
CLASS="SECT1"
 
32
><DIV
 
33
CLASS="NAVHEADER"
 
34
><TABLE
 
35
SUMMARY="Header navigation table"
 
36
WIDTH="100%"
 
37
BORDER="0"
 
38
CELLPADDING="0"
 
39
CELLSPACING="0"
 
40
><TR
 
41
><TH
 
42
COLSPAN="5"
 
43
ALIGN="center"
 
44
VALIGN="bottom"
 
45
><A
 
46
HREF="index.html"
 
47
>PostgreSQL 9.1beta1 Documentation</A
 
48
></TH
 
49
></TR
 
50
><TR
 
51
><TD
 
52
WIDTH="10%"
 
53
ALIGN="left"
 
54
VALIGN="top"
 
55
><A
 
56
TITLE="pg_stat_statements"
 
57
HREF="pgstatstatements.html"
 
58
ACCESSKEY="P"
 
59
>Prev</A
 
60
></TD
 
61
><TD
 
62
WIDTH="10%"
 
63
ALIGN="left"
 
64
VALIGN="top"
 
65
><A
 
66
TITLE="Additional Supplied Modules"
 
67
HREF="contrib.html"
 
68
>Fast Backward</A
 
69
></TD
 
70
><TD
 
71
WIDTH="60%"
 
72
ALIGN="center"
 
73
VALIGN="bottom"
 
74
>Appendix F. Additional Supplied Modules</TD
 
75
><TD
 
76
WIDTH="10%"
 
77
ALIGN="right"
 
78
VALIGN="top"
 
79
><A
 
80
TITLE="Additional Supplied Modules"
 
81
HREF="contrib.html"
 
82
>Fast Forward</A
 
83
></TD
 
84
><TD
 
85
WIDTH="10%"
 
86
ALIGN="right"
 
87
VALIGN="top"
 
88
><A
 
89
TITLE="pg_test_fsync"
 
90
HREF="pgtestfsync.html"
 
91
ACCESSKEY="N"
 
92
>Next</A
 
93
></TD
 
94
></TR
 
95
></TABLE
 
96
><HR
 
97
ALIGN="LEFT"
 
98
WIDTH="100%"></DIV
 
99
><DIV
 
100
CLASS="SECT1"
 
101
><H1
 
102
CLASS="SECT1"
 
103
><A
 
104
NAME="PGSTATTUPLE"
 
105
>F.33. pgstattuple</A
 
106
></H1
 
107
><P
 
108
>  The <TT
 
109
CLASS="FILENAME"
 
110
>pgstattuple</TT
 
111
> module provides various functions to
 
112
  obtain tuple-level statistics.
 
113
 </P
 
114
><DIV
 
115
CLASS="SECT2"
 
116
><H2
 
117
CLASS="SECT2"
 
118
><A
 
119
NAME="AEN133829"
 
120
>F.33.1. Functions</A
 
121
></H2
 
122
><P
 
123
></P
 
124
><DIV
 
125
CLASS="VARIABLELIST"
 
126
><DL
 
127
><DT
 
128
><CODE
 
129
CLASS="FUNCTION"
 
130
>pgstattuple(text) returns record</CODE
 
131
></DT
 
132
><DD
 
133
><P
 
134
>      <CODE
 
135
CLASS="FUNCTION"
 
136
>pgstattuple</CODE
 
137
> returns a relation's physical length,
 
138
      percentage of <SPAN
 
139
CLASS="QUOTE"
 
140
>"dead"</SPAN
 
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).
 
144
      For example:
 
145
</P><PRE
 
146
CLASS="PROGRAMLISTING"
 
147
>test=&#62; SELECT * FROM pgstattuple('pg_catalog.pg_proc');
 
148
-[ RECORD 1 ]------+-------
 
149
table_len          | 458752
 
150
tuple_count        | 1470
 
151
tuple_len          | 438896
 
152
tuple_percent      | 95.67
 
153
dead_tuple_count   | 11
 
154
dead_tuple_len     | 3157
 
155
dead_tuple_percent | 0.69
 
156
free_space         | 8932
 
157
free_percent       | 1.95</PRE
 
158
><P>
 
159
     The output columns are described in <A
 
160
HREF="pgstattuple.html#PGSTATTUPLE-COLUMNS"
 
161
>Table F-21</A
 
162
>.
 
163
    </P
 
164
><DIV
 
165
CLASS="TABLE"
 
166
><A
 
167
NAME="PGSTATTUPLE-COLUMNS"
 
168
></A
 
169
><P
 
170
><B
 
171
>Table F-21. <CODE
 
172
CLASS="FUNCTION"
 
173
>pgstattuple</CODE
 
174
> Output Columns</B
 
175
></P
 
176
><TABLE
 
177
BORDER="1"
 
178
CLASS="CALSTABLE"
 
179
><COL><COL><COL><THEAD
 
180
><TR
 
181
><TH
 
182
>Column</TH
 
183
><TH
 
184
>Type</TH
 
185
><TH
 
186
>Description</TH
 
187
></TR
 
188
></THEAD
 
189
><TBODY
 
190
><TR
 
191
><TD
 
192
><TT
 
193
CLASS="STRUCTFIELD"
 
194
>table_len</TT
 
195
></TD
 
196
><TD
 
197
><TT
 
198
CLASS="TYPE"
 
199
>bigint</TT
 
200
></TD
 
201
><TD
 
202
>Physical relation length in bytes</TD
 
203
></TR
 
204
><TR
 
205
><TD
 
206
><TT
 
207
CLASS="STRUCTFIELD"
 
208
>tuple_count</TT
 
209
></TD
 
210
><TD
 
211
><TT
 
212
CLASS="TYPE"
 
213
>bigint</TT
 
214
></TD
 
215
><TD
 
216
>Number of live tuples</TD
 
217
></TR
 
218
><TR
 
219
><TD
 
220
><TT
 
221
CLASS="STRUCTFIELD"
 
222
>tuple_len</TT
 
223
></TD
 
224
><TD
 
225
><TT
 
226
CLASS="TYPE"
 
227
>bigint</TT
 
228
></TD
 
229
><TD
 
230
>Total length of live tuples in bytes</TD
 
231
></TR
 
232
><TR
 
233
><TD
 
234
><TT
 
235
CLASS="STRUCTFIELD"
 
236
>tuple_percent</TT
 
237
></TD
 
238
><TD
 
239
><TT
 
240
CLASS="TYPE"
 
241
>float8</TT
 
242
></TD
 
243
><TD
 
244
>Percentage of live tuples</TD
 
245
></TR
 
246
><TR
 
247
><TD
 
248
><TT
 
249
CLASS="STRUCTFIELD"
 
250
>dead_tuple_count</TT
 
251
></TD
 
252
><TD
 
253
><TT
 
254
CLASS="TYPE"
 
255
>bigint</TT
 
256
></TD
 
257
><TD
 
258
>Number of dead tuples</TD
 
259
></TR
 
260
><TR
 
261
><TD
 
262
><TT
 
263
CLASS="STRUCTFIELD"
 
264
>dead_tuple_len</TT
 
265
></TD
 
266
><TD
 
267
><TT
 
268
CLASS="TYPE"
 
269
>bigint</TT
 
270
></TD
 
271
><TD
 
272
>Total length of dead tuples in bytes</TD
 
273
></TR
 
274
><TR
 
275
><TD
 
276
><TT
 
277
CLASS="STRUCTFIELD"
 
278
>dead_tuple_percent</TT
 
279
></TD
 
280
><TD
 
281
><TT
 
282
CLASS="TYPE"
 
283
>float8</TT
 
284
></TD
 
285
><TD
 
286
>Percentage of dead tuples</TD
 
287
></TR
 
288
><TR
 
289
><TD
 
290
><TT
 
291
CLASS="STRUCTFIELD"
 
292
>free_space</TT
 
293
></TD
 
294
><TD
 
295
><TT
 
296
CLASS="TYPE"
 
297
>bigint</TT
 
298
></TD
 
299
><TD
 
300
>Total free space in bytes</TD
 
301
></TR
 
302
><TR
 
303
><TD
 
304
><TT
 
305
CLASS="STRUCTFIELD"
 
306
>free_percent</TT
 
307
></TD
 
308
><TD
 
309
><TT
 
310
CLASS="TYPE"
 
311
>float8</TT
 
312
></TD
 
313
><TD
 
314
>Percentage of free space</TD
 
315
></TR
 
316
></TBODY
 
317
></TABLE
 
318
></DIV
 
319
><P
 
320
>     <CODE
 
321
CLASS="FUNCTION"
 
322
>pgstattuple</CODE
 
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.
 
326
    </P
 
327
><P
 
328
>     <CODE
 
329
CLASS="FUNCTION"
 
330
>pgstattuple</CODE
 
331
> judges a tuple is <SPAN
 
332
CLASS="QUOTE"
 
333
>"dead"</SPAN
 
334
> if
 
335
     <CODE
 
336
CLASS="FUNCTION"
 
337
>HeapTupleSatisfiesNow</CODE
 
338
> returns false.
 
339
    </P
 
340
></DD
 
341
><DT
 
342
><CODE
 
343
CLASS="FUNCTION"
 
344
>pgstattuple(oid) returns record</CODE
 
345
></DT
 
346
><DD
 
347
><P
 
348
>      This is the same as <CODE
 
349
CLASS="FUNCTION"
 
350
>pgstattuple(text)</CODE
 
351
>, except
 
352
      that the target relation is specified by OID.
 
353
     </P
 
354
></DD
 
355
><DT
 
356
><CODE
 
357
CLASS="FUNCTION"
 
358
>pgstatindex(text) returns record</CODE
 
359
></DT
 
360
><DD
 
361
><P
 
362
>      <CODE
 
363
CLASS="FUNCTION"
 
364
>pgstatindex</CODE
 
365
> returns a record showing information
 
366
      about a B-tree index.  For example:
 
367
</P><PRE
 
368
CLASS="PROGRAMLISTING"
 
369
>test=&#62; SELECT * FROM pgstatindex('pg_cast_oid_index');
 
370
-[ RECORD 1 ]------+------
 
371
version            | 2
 
372
tree_level         | 0
 
373
index_size         | 8192
 
374
root_block_no      | 1
 
375
internal_pages     | 0
 
376
leaf_pages         | 1
 
377
empty_pages        | 0
 
378
deleted_pages      | 0
 
379
avg_leaf_density   | 50.27
 
380
leaf_fragmentation | 0</PRE
 
381
><P>
 
382
     </P
 
383
><P
 
384
>     The output columns are:
 
385
 
 
386
    <DIV
 
387
CLASS="INFORMALTABLE"
 
388
><P
 
389
></P
 
390
><A
 
391
NAME="AEN133925"
 
392
></A
 
393
><TABLE
 
394
BORDER="1"
 
395
CLASS="CALSTABLE"
 
396
><COL><COL><COL><THEAD
 
397
><TR
 
398
><TH
 
399
>Column</TH
 
400
><TH
 
401
>Type</TH
 
402
><TH
 
403
>Description</TH
 
404
></TR
 
405
></THEAD
 
406
><TBODY
 
407
><TR
 
408
><TD
 
409
><TT
 
410
CLASS="STRUCTFIELD"
 
411
>version</TT
 
412
></TD
 
413
><TD
 
414
><TT
 
415
CLASS="TYPE"
 
416
>integer</TT
 
417
></TD
 
418
><TD
 
419
>B-tree version number</TD
 
420
></TR
 
421
><TR
 
422
><TD
 
423
><TT
 
424
CLASS="STRUCTFIELD"
 
425
>tree_level</TT
 
426
></TD
 
427
><TD
 
428
><TT
 
429
CLASS="TYPE"
 
430
>integer</TT
 
431
></TD
 
432
><TD
 
433
>Tree level of the root page</TD
 
434
></TR
 
435
><TR
 
436
><TD
 
437
><TT
 
438
CLASS="STRUCTFIELD"
 
439
>index_size</TT
 
440
></TD
 
441
><TD
 
442
><TT
 
443
CLASS="TYPE"
 
444
>bigint</TT
 
445
></TD
 
446
><TD
 
447
>Total number of pages in index</TD
 
448
></TR
 
449
><TR
 
450
><TD
 
451
><TT
 
452
CLASS="STRUCTFIELD"
 
453
>root_block_no</TT
 
454
></TD
 
455
><TD
 
456
><TT
 
457
CLASS="TYPE"
 
458
>bigint</TT
 
459
></TD
 
460
><TD
 
461
>Location of root block</TD
 
462
></TR
 
463
><TR
 
464
><TD
 
465
><TT
 
466
CLASS="STRUCTFIELD"
 
467
>internal_pages</TT
 
468
></TD
 
469
><TD
 
470
><TT
 
471
CLASS="TYPE"
 
472
>bigint</TT
 
473
></TD
 
474
><TD
 
475
>Number of <SPAN
 
476
CLASS="QUOTE"
 
477
>"internal"</SPAN
 
478
> (upper-level) pages</TD
 
479
></TR
 
480
><TR
 
481
><TD
 
482
><TT
 
483
CLASS="STRUCTFIELD"
 
484
>leaf_pages</TT
 
485
></TD
 
486
><TD
 
487
><TT
 
488
CLASS="TYPE"
 
489
>bigint</TT
 
490
></TD
 
491
><TD
 
492
>Number of leaf pages</TD
 
493
></TR
 
494
><TR
 
495
><TD
 
496
><TT
 
497
CLASS="STRUCTFIELD"
 
498
>empty_pages</TT
 
499
></TD
 
500
><TD
 
501
><TT
 
502
CLASS="TYPE"
 
503
>bigint</TT
 
504
></TD
 
505
><TD
 
506
>Number of empty pages</TD
 
507
></TR
 
508
><TR
 
509
><TD
 
510
><TT
 
511
CLASS="STRUCTFIELD"
 
512
>deleted_pages</TT
 
513
></TD
 
514
><TD
 
515
><TT
 
516
CLASS="TYPE"
 
517
>bigint</TT
 
518
></TD
 
519
><TD
 
520
>Number of deleted pages</TD
 
521
></TR
 
522
><TR
 
523
><TD
 
524
><TT
 
525
CLASS="STRUCTFIELD"
 
526
>avg_leaf_density</TT
 
527
></TD
 
528
><TD
 
529
><TT
 
530
CLASS="TYPE"
 
531
>float8</TT
 
532
></TD
 
533
><TD
 
534
>Average density of leaf pages</TD
 
535
></TR
 
536
><TR
 
537
><TD
 
538
><TT
 
539
CLASS="STRUCTFIELD"
 
540
>leaf_fragmentation</TT
 
541
></TD
 
542
><TD
 
543
><TT
 
544
CLASS="TYPE"
 
545
>float8</TT
 
546
></TD
 
547
><TD
 
548
>Leaf page fragmentation</TD
 
549
></TR
 
550
></TBODY
 
551
></TABLE
 
552
><P
 
553
></P
 
554
></DIV
 
555
>
 
556
    </P
 
557
><P
 
558
>     As with <CODE
 
559
CLASS="FUNCTION"
 
560
>pgstattuple</CODE
 
561
>, the results are accumulated
 
562
     page-by-page, and should not be expected to represent an
 
563
     instantaneous snapshot of the whole index.
 
564
    </P
 
565
></DD
 
566
><DT
 
567
><CODE
 
568
CLASS="FUNCTION"
 
569
>pg_relpages(text) returns bigint</CODE
 
570
></DT
 
571
><DD
 
572
><P
 
573
>      <CODE
 
574
CLASS="FUNCTION"
 
575
>pg_relpages</CODE
 
576
> returns the number of pages in the
 
577
      relation.
 
578
     </P
 
579
></DD
 
580
></DL
 
581
></DIV
 
582
></DIV
 
583
><DIV
 
584
CLASS="SECT2"
 
585
><H2
 
586
CLASS="SECT2"
 
587
><A
 
588
NAME="AEN134002"
 
589
>F.33.2. Authors</A
 
590
></H2
 
591
><P
 
592
>   Tatsuo Ishii and Satoshi Nagayasu
 
593
  </P
 
594
></DIV
 
595
></DIV
 
596
><DIV
 
597
CLASS="NAVFOOTER"
 
598
><HR
 
599
ALIGN="LEFT"
 
600
WIDTH="100%"><TABLE
 
601
SUMMARY="Footer navigation table"
 
602
WIDTH="100%"
 
603
BORDER="0"
 
604
CELLPADDING="0"
 
605
CELLSPACING="0"
 
606
><TR
 
607
><TD
 
608
WIDTH="33%"
 
609
ALIGN="left"
 
610
VALIGN="top"
 
611
><A
 
612
HREF="pgstatstatements.html"
 
613
ACCESSKEY="P"
 
614
>Prev</A
 
615
></TD
 
616
><TD
 
617
WIDTH="34%"
 
618
ALIGN="center"
 
619
VALIGN="top"
 
620
><A
 
621
HREF="index.html"
 
622
ACCESSKEY="H"
 
623
>Home</A
 
624
></TD
 
625
><TD
 
626
WIDTH="33%"
 
627
ALIGN="right"
 
628
VALIGN="top"
 
629
><A
 
630
HREF="pgtestfsync.html"
 
631
ACCESSKEY="N"
 
632
>Next</A
 
633
></TD
 
634
></TR
 
635
><TR
 
636
><TD
 
637
WIDTH="33%"
 
638
ALIGN="left"
 
639
VALIGN="top"
 
640
>pg_stat_statements</TD
 
641
><TD
 
642
WIDTH="34%"
 
643
ALIGN="center"
 
644
VALIGN="top"
 
645
><A
 
646
HREF="contrib.html"
 
647
ACCESSKEY="U"
 
648
>Up</A
 
649
></TD
 
650
><TD
 
651
WIDTH="33%"
 
652
ALIGN="right"
 
653
VALIGN="top"
 
654
>pg_test_fsync</TD
 
655
></TR
 
656
></TABLE
 
657
></DIV
 
658
></BODY
 
659
></HTML
 
660
>
 
 
b'\\ No newline at end of file'