head	1.10;
access;
symbols
	REL7_4_29:1.4
	REL8_0_25:1.5
	REL8_1_21:1.5
	REL8_2_17:1.8
	REL8_3_11:1.9
	REL7_4_28:1.4
	REL8_0_24:1.5
	REL8_1_20:1.5
	REL8_2_16:1.8
	REL8_3_10:1.9
	REL7_4_27:1.4
	REL8_0_23:1.5
	REL8_1_19:1.5
	REL8_2_15:1.8
	REL8_3_9:1.9
	REL7_4_26:1.4
	REL8_0_22:1.5
	REL8_1_18:1.5
	REL8_2_14:1.8
	REL8_3_8:1.9
	REL7_4_25:1.4
	REL8_0_21:1.5
	REL8_1_17:1.5
	REL8_2_13:1.8
	REL8_3_7:1.9
	REL7_4_24:1.4
	REL8_0_20:1.5
	REL8_1_16:1.5
	REL8_2_12:1.8
	REL8_3_6:1.9
	REL7_4_23:1.4
	REL8_0_19:1.5
	REL8_1_15:1.5
	REL8_2_11:1.8
	REL8_3_5:1.9
	REL7_4_22:1.4
	REL8_0_18:1.5
	REL8_1_14:1.5
	REL8_2_10:1.8
	REL8_3_4:1.9
	REL7_4_21:1.4
	REL8_0_17:1.5
	REL8_1_13:1.5
	REL8_2_9:1.8
	REL8_3_3:1.9
	REL7_4_20:1.4
	REL8_0_16:1.5
	REL8_1_12:1.5
	REL8_2_8:1.8
	REL8_3_2:1.9
	REL8_2_7:1.8
	REL8_3_1:1.9
	REL8_3_STABLE:1.9.0.2
	REL8_3_0:1.9
	REL8_3_RC2:1.9
	REL7_3_21:1.4
	REL7_4_19:1.4
	REL8_0_15:1.5
	REL8_1_11:1.5
	REL8_2_6:1.8
	REL8_3_RC1:1.9
	REL8_3_BETA4:1.9
	REL8_3_BETA3:1.9
	REL8_3_BETA2:1.9
	REL8_3_BETA1:1.9
	REL7_3_20:1.4
	REL7_4_18:1.4
	REL8_0_14:1.5
	REL8_1_10:1.5
	REL8_2_5:1.8
	REL7_3_19:1.4
	REL7_4_17:1.4
	REL8_0_13:1.5
	REL8_1_9:1.5
	REL8_2_4:1.8
	REL8_0_12:1.5
	REL8_1_8:1.5
	REL8_2_3:1.8
	REL7_3_18:1.4
	REL7_4_16:1.4
	REL8_0_11:1.5
	REL8_1_7:1.5
	REL8_2_2:1.8
	REL8_0_10:1.5
	REL8_1_6:1.5
	REL8_2_1:1.8
	REL7_4_15:1.4
	REL7_3_17:1.4
	REL8_2_STABLE:1.8.0.2
	REL8_2_0:1.8
	REL8_2_RC1:1.8
	REL8_2_BETA3:1.8
	REL8_2_BETA2:1.8
	REL8_1_5:1.5
	REL8_0_9:1.5
	REL7_4_14:1.4
	REL7_3_16:1.4
	REL8_2_BETA1:1.8
	REL7_3_15:1.4
	REL7_4_13:1.4
	REL8_0_8:1.5
	REL8_1_4:1.5
	REL7_3_14:1.4
	REL7_4_12:1.4
	REL8_0_7:1.5
	REL8_1_3:1.5
	REL7_3_13:1.4
	REL7_4_11:1.4
	REL8_0_6:1.5
	REL8_1_2:1.5
	REL7_3_12:1.4
	REL7_4_10:1.4
	REL8_0_5:1.5
	REL8_1_1:1.5
	REL8_1_STABLE:1.5.0.6
	REL8_1_0:1.5
	REL8_1_0RC1:1.5
	REL8_1_0BETA4:1.5
	REL8_1_0BETA3:1.5
	REL7_3_11:1.4
	REL7_4_9:1.4
	REL8_0_4:1.5
	REL8_1_0BETA2:1.5
	REL8_1_0BETA1:1.5
	REL7_2_8:1.2
	REL7_3_10:1.4
	REL7_4_8:1.4
	REL8_0_3:1.5
	REL8_0_2:1.5
	REL7_2_7:1.2
	REL7_3_9:1.4
	REL7_4_7:1.4
	REL8_0_1:1.5
	REL8_0_STABLE:1.5.0.4
	REL8_0_0:1.5.0.2
	REL8_0_0RC5:1.5
	REL8_0_0RC4:1.5
	REL8_0_0RC3:1.5
	REL8_0_0RC2:1.5
	REL8_0_0RC1:1.5
	REL8_0_0BETA5:1.5
	REL8_0_0BETA4:1.5
	REL7_4_6:1.4
	REL7_3_8:1.4
	REL7_2_6:1.2
	REL8_0_0BETA3:1.5
	REL8_0_0BETA2:1.5
	REL7_2_5:1.2
	REL7_4_5:1.4
	REL7_3_7:1.4
	REL7_4_4:1.4
	REL8_0_0BETA1:1.5
	REL7_4_3:1.4
	REL7_4_2:1.4
	REL7_3_6:1.4
	REL7_4_1:1.4
	REL7_3_5:1.4
	REL7_4:1.4
	REL7_4_RC2:1.4
	REL7_4_STABLE:1.4.0.6
	REL7_4_RC1:1.4
	REL7_4_BETA5:1.4
	REL7_4_BETA4:1.4
	REL7_4_BETA3:1.4
	REL7_4_BETA2:1.4
	WIN32_DEV:1.4.0.4
	REL7_4_BETA1:1.4
	REL7_3_4:1.4
	REL7_3_2:1.4
	REL7_2_4:1.2
	REL7_3_STABLE:1.4.0.2
	REL7_2_3:1.2
	REL7_2_STABLE:1.2.0.2
	REL7_2:1.2
	REL7_2_RC2:1.2
	REL7_2_RC1:1.2
	REL7_2_BETA5:1.2
	REL7_2_BETA4:1.1
	REL7_2_BETA3:1.1
	REL7_2_BETA2:1.1
	REL7_2_BETA1:1.1;
locks; strict;
comment	@# @;


1.10
date	2009.01.06.13.43.31;	author ishii;	state dead;
branches;
next	1.9;

1.9
date	2007.06.07.09.56.25;	author mha;	state Exp;
branches;
next	1.8;

1.8
date	2006.09.04.03.49.05;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	2006.07.06.02.18.07;	author momjian;	state Exp;
branches;
next	1.6;

1.6
date	2006.02.27.16.09.49;	author petere;	state Exp;
branches;
next	1.5;

1.5
date	2003.11.29.22.39.29;	author pgsql;	state Exp;
branches;
next	1.4;

1.4
date	2002.09.04.02.54.59;	author ishii;	state Exp;
branches;
next	1.3;

1.3
date	2002.08.23.08.19.49;	author ishii;	state Exp;
branches;
next	1.2;

1.2
date	2001.12.20.01.56.08;	author ishii;	state Exp;
branches;
next	1.1;

1.1
date	2001.10.01.01.52.38;	author ishii;	state Exp;
branches;
next	;


desc
@@


1.10
log
@Remove outdated Japanese README files per discussion.
@
text
@$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.9 2007/06/07 09:56:25 mha Exp $

pgstattuple README		2002/08/22 石井達夫

1. サポートされている関数

   pgstattuple
   -----------
   pgstattupleは，UPDATEやDELETEで作られたリレーションのゴミ領域の大きさを，
   リレーション自体の物理的な大きさに対するパーセンテージで返却します．つ
   まり，返却値が大きければ，それだけゴミも多いので，vacuumをかける必
   要があるという判断の助けになるわけです．これ以外にもいろいろな情報
   が返ります．
   pgstattuple() は、リレーションの長さや、タプルの"ゴミ領域"の割合などの
   情報を返却します。これらの情報は、vacuum が必要かどうか、ユーザが判断
   するのに役立つでしょう。例えば以下のような形になります：

       test=> \x
       Expanded display is on.
       test=> SELECT * FROM pgstattuple('pg_catalog.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の比率．

   pg_relpages
   -----------
   pg_relpages() はリレーションのページ数を返却します．

   pgstatindex
   -----------
   pgstatindex() はインデックスに関する情報を返却します：

       test=> \x
       Expanded display is on.
       test=> SELECT * FROM pgstatindex('pg_cast_oid_index');
       -[ RECORD 1 ]------+------
       version            | 2
       tree_level         | 0
       index_size         | 8192
       root_block_no      | 1
       internal_pages     | 0
       leaf_pages         | 1
       empty_pages        | 0
       deleted_pages      | 0
       avg_leaf_density   | 50.27
       leaf_fragmentation | 0


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 STRICT;

   第一引数: リレーション名

   関数の戻りはpgstattuple_type型です．

   pgstattupleはリレーションにAccessShareLockしかかけないので，
   pgstattuple を実行中に該当リレーションに更新や削除が発生すると，正しく
   ない結果を返す可能性があります．

   pgstattupleがタプルを「ゴミ」と判断する基準は，
   HeapTupleSatisfiesNow()が偽を返したときです．

4. pgstattupleのライセンス条件について

   pgstattuple.cの冒頭に書いてある通りです．また，pgstattuple は完全に無保
   証です．pgstattuple を使用したことによって生じるいかなる結果に関して
   も責任を負いません．

5. 改訂履歴

   2006/06/28

	インデックスに対しても動作するように拡張。

   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リリース
@


1.9
log
@The functions bt_metap, bt_page_stats and bt_page_items had moved
from contrib/pgstattuple to pageinspect. We've already fixed English
documentation, but Japanese version does not catch up.

ITAGAKI Takahiro
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.8 2006/09/04 03:49:05 momjian Exp $
@


1.8
log
@Update Japanese readme for pgstattuple.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.7 2006/07/06 02:18:07 momjian Exp $
a65 47
   bt_metap
   --------
   bt_metap() はbtreeインデックスのメタページに関する情報を返却します：

       test=> SELECT * FROM bt_metap('pg_cast_oid_index');
       -[ RECORD 1 ]-----
       magic     | 340322
       version   | 2
       root      | 1
       level     | 0
       fastroot  | 1
       fastlevel | 0

   bt_page_stats
   -------------
   bt_page_stats() は、btreeの単一のページに関する情報を表示します：

       test=> SELECT * FROM bt_page_stats('pg_cast_oid_index', 1);
       -[ RECORD 1 ]-+-----
       blkno         | 1
       type          | l
       live_items    | 256
       dead_items    | 0
       avg_item_size | 12
       page_size     | 8192
       free_size     | 4056
       btpo_prev     | 0
       btpo_next     | 0
       btpo          | 0
       btpo_flags    | 3

   bt_page_items
   -------------
   bt_page_items() は、各btreeページの個別のアイテムに関する情報を表示します：

       test=> SELECT * FROM bt_page_items('pg_cast_oid_index', 1);
        itemoffset |  ctid   | itemlen | nulls | vars |    data
       ------------+---------+---------+-------+------+-------------
                 1 | (0,1)   |      12 | f     | f    | 23 27 00 00
                 2 | (0,2)   |      12 | f     | f    | 24 27 00 00
                 3 | (0,3)   |      12 | f     | f    | 25 27 00 00
                 4 | (0,4)   |      12 | f     | f    | 26 27 00 00
                 5 | (0,5)   |      12 | f     | f    | 27 27 00 00
                 6 | (0,6)   |      12 | f     | f    | 28 27 00 00
                 7 | (0,7)   |      12 | f     | f    | 29 27 00 00
                 8 | (0,8)   |      12 | f     | f    | 2a 27 00 00
 
@


1.7
log
@Add index information to /contrib/pgstattuple:

This is an extension of pgstattuple to query information from indexes.
It supports btree, hash and gist. Gin is not supported. It scans only
index pages and does not read corresponding heap tuples. Therefore,
'dead_tuple' means the number of tuples with LP_DELETE flag.

Also, I added an experimental feature for btree indexes. It checks
fragmentation factor of indexes. If an leaf has the right link on the
next adjacent page in the file, it is assumed to be continuous (not
fragmented). It will help us to decide when to REINDEX.

ITAGAKI Takahiro
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.6 2006/02/27 16:09:49 petere Exp $
d5 1
a5 1
1. pgstattupleとは
d7 2
d14 99
a112 25

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の比率．
@


1.6
log
@Clean up CREATE FUNCTION syntax usage in contrib and elsewhere, in
particular get rid of single quotes around language names and old WITH ()
construct.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/contrib/pgstattuple/README.pgstattuple.euc_jp,v 1.5 2003/11/29 22:39:29 pgsql Exp $
d7 2
a8 2
   pgstattupleは，UPDATEやDELETEで作られたテーブルのゴミ領域の大きさを，
   テーブル自体の物理的な大きさに対するパーセンテージで返却します．つ
d29 1
a29 1
table_len		-- テーブルの物理的な大きさ(バイト)
d59 1
a59 1
   第一引数: テーブル名
d63 2
a64 2
   pgstattupleはテーブルにAccessShareLockしかかけないので，
   pgstattuple を実行中に該当テーブルに更新や削除が発生すると，正しく
d78 4
@


1.5
log
@
make sure the $Id tags are converted to $PostgreSQL as well ...
@
text
@d1 1
a1 1
$PostgreSQL: README.pgstattuple.euc_jp,v 1.4 2002/09/04 02:54:59 ishii Exp $
d57 1
a57 1
     LANGUAGE 'c' WITH (isstrict);
@


1.4
log
@Refrect changes made by Tom Lane
@
text
@d1 1
a1 1
$Id: README.pgstattuple.euc_jp,v 1.3 2002/08/23 08:19:49 ishii Exp $
@


1.3
log
@Adapt for SRF(Set Returning Function).
@
text
@d1 1
a1 1
$Id: README.pgstattuple.euc_jp,v 1.2 2001/12/20 01:56:08 ishii Exp $
d55 1
a55 1
   CREATE OR REPLACE FUNCTION pgstattuple(text) RETURNS SETOF pgstattuple_view
d61 1
a61 2
   関数の戻りはpgstattuple_view型です．また，pgstattupleは1行しか行を
   返しません．
d63 1
a63 1
   なお，pgstattupleはテーブルにAccessShareLockしかかけないので，
d77 5
@


1.2
log
@Reflect Tom's change
@
text
@d1 1
a1 1
$Id: README.pgstattuple.euc_jp,v 1.1 2001/10/01 01:52:38 ishii Exp $
d3 1
a3 1
pgstattuple README		2001/10/01 石井達夫
d10 2
a11 1
   要があるという判断の助けになるわけです．
d13 24
a36 20
   これだけでは情報量が少ないので，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		管理のための領域がテーブル全体に占める比率
d55 3
a57 1
   pgstattuple(NAME) RETURNS FLOAT8
d61 2
a62 2
   関数の戻りはUPDATEやDELETEで作られたテーブルのゴミ領域の大きさで，
   テーブルの物理的な大きさに対する割合(パーセント)で返却します．
d78 4
@


1.1
log
@Add pgstattuple
@
text
@d1 1
a1 1
$Id: README.euc_jp,v 1.2 2001/08/30 06:21:48 t-ishii Exp $
d57 6
a62 3
   なお，pgstattupleはテーブルに一切ロックをかけないので，pgstattuple
   を実行中に該当テーブルに更新や削除が発生すると，正しくない結果を返
   す可能性があります．
d72 7
d80 1
@
