PGroonga オブジェクト ファイル

PGroongaのオブジェクトについて
PGroongaに関連するオブジェクトは以下の2つがあります。

  1. Groongaのオブジェクト→Groongaテーブル・インデックス
  2. PGroongaのWALファイル

PGroongaのオブジェクト紹介 | 株式会社インサイト 2021

pgroonga_test=# SELECT oid,datname FROM pg_database WHERE datname = 'pgroonga_test';
  oid   |    datname    
--------+---------------
 221941 | pgroonga_test

pgroonga_test=# SELECT relfilenode,relname FROM pg_class WHERE relname='pgroonga_content_index';
 relfilenode |        relname         
-------------+------------------------
      252318 | pgroonga_content_index

pgroonga_test データベース oid 221941
pgroonga_content_index インデックス relfilenode 252318

$ cd data/base/221941

(PGroongaのWALはこのファイル内に格納される)
$ ls -1 252318*
252318

※ pgroonga.enable_wal = off (WALを生成しない) 場合はサイズ0のファイル

(Groongaのオブジェクト→Groongaテーブル・インデックス)
$ ls -1 pgrn*
ls -1 pgrn*
pgrn
pgrn.0000000
pgrn.0000101
...

$ find ./ -name "pgrn*" -type f -ls | awk '{sum +=$7;} END {printf("%dM\n",sum/1024/1024)}'
123M

$ groonga pgrn
> object_list

(Groongaのオブジェクト内でrelfilenodeに紐づいた名前で管理されている)
Sources252318
Lexicon252318_0
Sources252318.content
Lexicon252318_0.index

\di+ のsizeはPGroongaのWALファイルのサイズ (≠Groongaテーブル・インデックスのサイズ)

pgroonga_test=# \di+ pgroonga_content_index
                                List of relations
 Schema |          Name          | Type  |  Owner   | Table | Size  | Description 
--------+------------------------+-------+----------+-------+-------+-------------
 public | pgroonga_content_index | index | postgres | memos | 16 kB |

※ pgroonga.enable_wal = off (WALを生成しない) 場合

                                List of relations
 Schema |          Name          | Type  |  Owner   | Table |  Size   | Description 
--------+------------------------+-------+----------+-------+-------+-------------
 public | pgroonga_content_index | index | postgres | memos | 0 bytes |

https://pgroonga.github.io/ja/reference/pgroonga-versus-pg-bigm.html
この比較のPGroongaインデックスサイズは「Groongaテーブル・インデックスのサイズ」