PGroongaのオブジェクトについて
PGroongaに関連するオブジェクトは以下の2つがあります。
- Groongaのオブジェクト→Groongaテーブル・インデックス
- PGroongaのWALファイル
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テーブル・インデックスのサイズ」