mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
$Id: README.pgstattuple.euc_jp,v 1.2 2001/12/20 01:56:08 ishii Exp $
|
||
|
||
pgstattuple README 2001/10/01 石井達夫
|
||
|
||
1. pgstattupleとは
|
||
|
||
pgstattupleは,UPDATEやDELETEで作られたテーブルのゴミ領域の大きさを,
|
||
テーブル自体の物理的な大きさに対するパーセンテージで返却します.つ
|
||
まり,返却値が大きければ,それだけゴミも多いので,vacuumをかける必
|
||
要があるという判断の助けになるわけです.
|
||
|
||
これだけでは情報量が少ないので,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)
|
||
|
||
この実行例では,19%ほどがゴミになっていることが伺えます.NOTICEメッ
|
||
セージの見方も書いておきます.
|
||
|
||
physical length テーブルの物理的なサイズをMB単位で表示
|
||
live tuples ゴミではないタプルに関する情報.タプル数,各
|
||
タプルが占める領域の合計,テーブル全体に対する
|
||
比率を表示します.
|
||
dead tuples ゴミになったタプルに関する情報.
|
||
free/reusable space 利用可能な未使用領域や再利用可能領域
|
||
overhead 管理のための領域がテーブル全体に占める比率
|
||
|
||
2. pgstattupleのインストール
|
||
|
||
PostgreSQLが/usr/local/pgsqlにインストール済であり,testデータベー
|
||
スにpgstattupleをインストールする場合の手順を示します.
|
||
|
||
$ make
|
||
$ make install
|
||
|
||
ユーザ定義関数を登録します.
|
||
|
||
$ psql -e -f /usr/local/pgsql/share/contrib/pgstattuple.sql test
|
||
|
||
|
||
3. pgstattupleの使い方
|
||
|
||
pgstattupleの呼び出し形式は以下です.
|
||
|
||
pgstattuple(NAME) RETURNS FLOAT8
|
||
|
||
第一引数: テーブル名
|
||
|
||
関数の戻りはUPDATEやDELETEで作られたテーブルのゴミ領域の大きさで,
|
||
テーブルの物理的な大きさに対する割合(パーセント)で返却します.
|
||
|
||
なお,pgstattupleはテーブルにAccessShareLockしかかけないので,
|
||
pgstattuple を実行中に該当テーブルに更新や削除が発生すると,正しく
|
||
ない結果を返す可能性があります.
|
||
|
||
pgstattupleがタプルを「ゴミ」と判断する基準は,
|
||
HeapTupleSatisfiesNow()が偽を返したときです.
|
||
|
||
4. pgstattupleのライセンス条件について
|
||
|
||
pgstattuple.cの冒頭に書いてある通りです.また,pgstattuple は完全に無保
|
||
証です.pgstattuple を使用したことによって生じるいかなる結果に関して
|
||
も責任を負いません.
|
||
|
||
5. 改訂履歴
|
||
|
||
2001/12/20 Tom Laneによる修正
|
||
|
||
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/10/01 PostgreSQL 7.2 用contrib moduleに登録
|
||
|
||
2001/08/30 pgstattuple バージョン 0.1リリース
|