mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-12 17:37:07 +08:00
97 lines
2.8 KiB
Plaintext
97 lines
2.8 KiB
Plaintext
$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.5 2003/11/29 22:39:29 pgsql Exp $
|
|
|
|
pgstattuple README 2002/08/22 石井達夫
|
|
|
|
1. pgstattupleとは
|
|
|
|
pgstattupleは,UPDATEやDELETEで作られたテーブルのゴミ領域の大きさを,
|
|
テーブル自体の物理的な大きさに対するパーセンテージで返却します.つ
|
|
まり,返却値が大きければ,それだけゴミも多いので,vacuumをかける必
|
|
要があるという判断の助けになるわけです.これ以外にもいろいろな情報
|
|
が返ります.
|
|
|
|
test=# \x
|
|
Expanded display is on.
|
|
test=# select * from pgstattuple('pg_proc');
|
|
-[ RECORD 1 ]------+-------
|
|
table_len | 458752
|
|
tuple_count | 1470
|
|
tuple_len | 438896
|
|
tuple_percent | 95.67
|
|
dead_tuple_count | 11
|
|
dead_tuple_len | 3157
|
|
dead_tuple_percent | 0.69
|
|
free_space | 8932
|
|
free_percent | 1.95
|
|
|
|
各項目の説明です.
|
|
|
|
table_len -- テーブルの物理的な大きさ(バイト)
|
|
tuple_count -- タプル数
|
|
tuple_len -- タプル長の合計(バイト)
|
|
tuple_percent -- タプルの割合.table_lenに対するtuple_lenの比率.
|
|
dead_tuple_len -- デッドタプル数
|
|
dead_tuple_percent -- デッドタプルの割合.table_lenに対するtuple_lenの比率.
|
|
free_space -- 再利用可能な領域(バイト)
|
|
free_percent -- 再利用可能な領域.table_lenに対するfree_spaceの比率.
|
|
|
|
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の呼び出し形式は以下です.
|
|
|
|
CREATE OR REPLACE FUNCTION pgstattuple(text) RETURNS pgstattuple_type
|
|
AS 'MODULE_PATHNAME', 'pgstattuple'
|
|
LANGUAGE 'c' WITH (isstrict);
|
|
|
|
第一引数: テーブル名
|
|
|
|
関数の戻りはpgstattuple_type型です.
|
|
|
|
pgstattupleはテーブルにAccessShareLockしかかけないので,
|
|
pgstattuple を実行中に該当テーブルに更新や削除が発生すると,正しく
|
|
ない結果を返す可能性があります.
|
|
|
|
pgstattupleがタプルを「ゴミ」と判断する基準は,
|
|
HeapTupleSatisfiesNow()が偽を返したときです.
|
|
|
|
4. pgstattupleのライセンス条件について
|
|
|
|
pgstattuple.cの冒頭に書いてある通りです.また,pgstattuple は完全に無保
|
|
証です.pgstattuple を使用したことによって生じるいかなる結果に関して
|
|
も責任を負いません.
|
|
|
|
5. 改訂履歴
|
|
|
|
2002/09/04
|
|
|
|
SRF変更に伴い,Tom Lane が修正インターフェイスの修正を行った.
|
|
そのことをこのREADMEにも反映.
|
|
|
|
2002/08/23
|
|
|
|
SRF(Set Returning Function)を使って7.3用に書き換え.
|
|
|
|
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リリース
|