Kentaro Hayashi
hayas****@clear*****
2017年 8月 14日 (月) 17:16:46 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コマンドを使ってみるのもいいかもしれません。 "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が含まれているので インデックスに関係しているものだとわかります。 > この方法ですと、データ量に比例した差分が発生したため原因を調べたところ、『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も存在します。 ということから算出してみるのはいかがでしょう。 -- Kentaro Hayashi <hayas****@clear*****> -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 833 バイト 説明: 無し ダウンロード