[pgsql-jp: 28023] DB FILE (Re: )
Naofumi Kondoh
nkon @ shonan.ne.jp
2002年 11月 19日 (火) 12:09:18 JST
ソフト工房の近藤です。
# 別スレッドにしました。
# Re: [pgsql-jp: 28003] Re: Linux Worldのデータベース記事
Jun Kitamura wrote:
> 北村@zoozee です。
...略....
> PostgreSQL では、データベースの実態は、(デフォルトでは) /data/base
> 以下に データベースの OID がディレクトリ名として入っています
> よね。その下に、テーブルやらインデックスやらの OID がファイ
> ル名として存在していますよね。(ここまでで間違ってたらゴメン
> ナサイ)。
...略...
> ここで石井さんのおっしゃる、「データファイルを1GB単位で分割
> する」というのは、その OID(例えば 1234) に _2 とか付けて
> (1234_2 という名前のファイルが生成されて)、1ファイルをマック
> ス1GB として扱ってくれる、ということでしょうか。
...略...
/data/base 以下ではなく、$PGDATA/base の下ですね。
表やインデックス等々に対応した UNIX FILE 名 relfilenode は、
下記 SQL で取得できます。
select relfilenode, relname, relkind from pg_class ;
relfilenode | relname | relkind
-------------+-----------------------+---------
9652427 | 郵便番号簿 | r
9826486 | 役職区分表_pkey | i
9652423 | 役職区分表 | r
9652429 | 売上表 | r
9826479 | 受講者表_pkey | i
9652439 | 受講者表 | r
9652409 | 写真集2_整理番号_seq | S
version 7.2.1 でテストした範囲では、1GB未満の場合は、
UNIX FILE NAME は、relfilenode のとおり。1GB を超えると、
ピリオドに1から始まる連番を付けるようです。
(例)version 7.2.1 でのテスト結果
---------------------------------------------------------
DBNAME = bigdb
---------------------------------------------------------
(r) bigtab 1049.604 MB 2002-09-06 19:59:42 /kd/db/pgdata.7.2.1/base/9993518/9993519
(r) bigtab 1049.604 MB 2002-09-06 20:39:37 /kd/db/pgdata.7.2.1/base/9993518/9993519.1
(r) bigtab 1049.604 MB 2002-09-06 21:54:08 /kd/db/pgdata.7.2.1/base/9993518/9993519.2
(r) bigtab 90.204 MB 2002-09-06 22:03:59 /kd/db/pgdata.7.2.1/base/9993518/9993519.3
(R) bigtab 3239.016 MB (*分割DB表合計*)
...... 略 .....
(i) pg_type_typname_index 0.016 MB 2002-09-06 17:33:44 /kd/db/pgdata.7.2.1/base/9993518/16458
(s) pg_xactlock 0.000 MB NO FILE NOFILE
(*) bigdb 0.004 MB 2002-09-06 21:53:51 /kd/db/pgdata.7.2.1/base/9993518
---------------------------------------------------------
計 bigdb 3240.764 MB
---------------------------------------------------------
上記のように、DBNAME を指定すると、表名とファイルサイズを
ls のように表示してくれるプログラム pgls.c を作成途中なの
ですが、1GB を超えるファイル名の付け方の部分をソースコード
で確認していないので、未公開のままです。
どなたか、ソースコードを調べて頂ければ、プログラムを公開し
ます。あるいは、未完成承知で、デバッグしていただけるならば
ソースコードを差し上げます( GPL ライセンス)。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon @ shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/ http://www.shonan.ne.jp/~nkon/
2002-11-28(木)19:00-21:30 第8回PostgreSQL業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
pgsql-jp メーリングリストの案内