[pgsql-jp: 37507] Re: reindexした際のディスクの空き具合について

Satoshi Nagayasu nagayasus @ nttdata.co.jp
2006年 8月 29日 (火) 09:36:52 JST


永安です。

#添付ファイルNGらしいので送り直しです。。パッチ添付してしまた。。

Y.Watanabe wrote:
> よく考えたら、pgstattupleはテーブルのサイズ測定で、
> インデックスは無理だった気がするです。
>
> すぐ前のスレッドで紹介されてるpgstatindexはpgsql7では使えないでしょうしねえ。

とりあえず、なんとかパッチを作ってみました。

WEB+DB PRESSのページからpgstatindex.tar.gzをダウンロードして、
以下のパッチを当てると7.3系でも動くようになると思います。

http://snaga.org/pukiwiki/index.php?plugin=attach&pcmd=open&file=pgstatindex81_73.diff&refer=PostgreSQL%2Fpgstatindex

かなりad-hocなパッチなので、今後どうなるのかは私にもよく分かりませんが、
そこはそれ、オープンソースですので。:)

ではでは。
------------------------------------------------------------
% /usr/local/pgsql7310/bin/psql -p 9998 pgbench
Welcome to psql 7.3.10, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

pgbench=# \x
Expanded display is on.
pgbench=# SELECT  * FROM pgstatindex('accounts_pkey');
-[ RECORD 1 ]------+--------
version            | 1
tree_level         | 2
index_size         | 2498560
root_block_no      | 3
internal_pages     | 0
leaf_pages         | 304
empty_pages        | 0
deleted_pages      | 0
avg_leaf_density   | 64.78
leaf_fragmentation | 0

pgbench=# REINDEX INDEX accounts_pkey ;
REINDEX
pgbench=# SELECT  * FROM pgstatindex('accounts_pkey');
-[ RECORD 1 ]------+--------
version            | 1
tree_level         | 2
index_size         | 1802240
root_block_no      | 3
internal_pages     | 0
leaf_pages         | 219
empty_pages        | 0
deleted_pages      | 0
avg_leaf_density   | 89.82
leaf_fragmentation | 0

pgbench=#
------------------------------------------------------------

Y.Watanabe wrote:
> よく考えたら、pgstattupleはテーブルのサイズ測定で、
> インデックスは無理だった気がするです。
>
> すぐ前のスレッドで紹介されてるpgstatindexはpgsql7では使えないでしょうしねえ。
> 
> 
> 
> 
> Y.Watanabe wrote on 2006/08/26 23:10
> with Subject: Re: [pgsql-jp: 37481] reindexした際のディスクの空き具合につい
>> 
>> とりあえず pgstattuple で調べてみるとか。
>> 所要時間は無理だと思うけど。
>>
>> "楠元俊二" wrote on 2006/08/25 15:03
>> with Subject: [pgsql-jp: 37481] reindexした際のディスクの空き具合について
>>
>>> こんにちは。
>>>
>>> 楠元と申します。
>>>
>>> バージョン7.3.8についてですが、
>>> インデックス領域が既に20Gに達しているインデックスをreindexしようと考えています。
>>>
>>> その際の、所要時間、空くと思われる領域についての見積もりを出す方法を調べています。
>>>
>>> pg_classテーブル等を見ましたが、インデックス名とその使用領域については解りますが、ごみ領域がい
>>>>>> ほどあるのかを把握しかねる状況です。
>>>
>>> もし、ご存知の方、いらっしゃれば教えていただけないでしょうか。
>>>
>>> 誠に恐縮ではございますが、どこどこを見ろなど、情報をお願いいたします。
>>>
> 
> 


-- 
NAGAYASU Satoshi <nagayasus @ nttdata.co.jp>
Phone: +81-3-3523-8122




pgsql-jp メーリングリストの案内