[groonga-dev,04433] Re: PGROONGAのインデックスファイルの容量を取得する方法は?

Zurück zum Archiv-Index

高見 直輝 takam****@orega*****
2017年 8月 15日 (火) 16:57:22 JST


高見です。
返答ありがとうございます。

> 林です。
> 
> On Mon, 07 Aug 2017 18:03:39 +0900
> 高見 直輝 <takam****@orega*****> wrote:
> 
> > 御無沙汰しております。高見です。
> >
> > PGROONGAのインデックスごとのファイルの容量(ストレージ使用量)を、以下の手順で取得しています。
> > 1.インデックスの名前から内部テーブル名(Sources【整数】)を取得
> > 2.table_listコマンドの結果から、以下の条件に当てはまるレコードのファイルパスを取得
> >   テーブル名が1と一致する
> >   テーブル名がLexicon【1の整数部分】と前方一致する
> > 3.column_listコマンドを2で取得した各テーブル名で実行し、結果のレコードからファイルパスを取得
> >
> > 2と3で取得したファイルパスからファイルサイズを取得、合計値を算出しています。
> 
> というのであれば、object_listコマンドを使ってみるのもいいかもしれません。

必要なのが“PostgreSQLのインデックス毎のファイルサイズ合計”なので、このコマンドの結果をインデッ
クスに紐づける手間を考えるとあまり変わらないかな、と考えています。

>     "Lexicon16713_0.index": {
>       "id": 265,
>       "name": "Lexicon16713_0.index",
>       "opened": false,
>       "n_elements": 4,
>       "type": {
>         "id": 72,
>         "name": "column:index"
>       },
>       "flags": {
>         "value": 32770,
>         "names": "COLUMN_INDEX|PERSISTENT"
>       },
>       "path": "/var/lib/pgsql/9.6/data/base/16384/pgrn.0000109",
>       "range": {
>         "id": 261,
>         "name": "Sources16713"
>       },
>       "sources": [
>         {
>           "id": 264,
>           "name": "Sources16713.id"
>         }
>       ]
>     },
> 
> ↑はobject_listコマンドの出力の一部です。flags.namesにCOLUMN_INDEXが含まれているので
> インデックスに関係しているものだとわかります。

column_listコマンドのflagsと同じものですよね?

> > この方法ですと、データ量に比例した差分が発生したため原因を調べたところ、『pgrn.【整数】.c』ファ
> > イルが集計対象になっていませんでした。
> >
> > これはインデックスに属するファイルなのでしょうか?属している場合、他のファイルのようにパスを取得
> > することは出来ますでしょうか?
> 
> .cファイルについて、インデックスに属するファイルというのであっています。
> ただし、このファイルのパスを取得する方法はありません。
> ありませんが、インデックスカラムの場合.cも一緒に作られます。
> ↑の例だと/var/lib/pgsql/9.6/data/base/16384/pgrn.0000109があれば、
> /var/lib/pgsql/9.6/data/base/16384/pgrn.0000109.cも存在します。
> ということから算出してみるのはいかがでしょう。

上記手順に以下のものを加えてみます。
4.3の結果でflagsに『COLUMN_INDEX』が含まれている場合、パスに『.c』を加えたファイルパスを取得

----------------------------- 
高見 直輝 <takam****@orega*****>
株式会社オレガ
TEL:03-3267-0150
FAX:03-3267-0180




groonga-dev メーリングリストの案内
Zurück zum Archiv-Index