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

"楠元俊二" shunji @ sijam.com
2006年 8月 29日 (火) 15:01:54 JST


Y.Watanabeさん、
tanakaさん、
永安さん、

こんにちは。

楠元です。


このたびは多大なるアドバイス大変ありがとうございます。

現在、pg_classをみることで
各インデックスがどれだけ領域を使用しているかは取得できました。

ただし、ごみ領域分は取得できないんですね。

pgstatindexでごみ領域わかればいいんですけど。。


あとは自力でなんとかいたします。

本当にありがとうございました。



Satoshi Nagayasu wrote:
> 永安です。
> 
> #添付ファイル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 メーリングリストの案内