$Id: README.pgstattuple.euc_jp,v 1.1 2001/10/01 01:52:38 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はテーブルに一切ロックをかけないので,pgstattuple を実行中に該当テーブルに更新や削除が発生すると,正しくない結果を返 す可能性があります. 4. pgstattupleのライセンス条件について pgstattuple.cの冒頭に書いてある通りです.また,pgstattuple は完全に無保 証です.pgstattuple を使用したことによって生じるいかなる結果に関して も責任を負いません. 5. 改訂履歴 2001/10/01 PostgreSQL 7.2 用contrib moduleに登録 2001/08/30 pgstattuple バージョン 0.1リリース