mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03: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リリース
 |