mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 00:08:23 -05: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リリース
 |