[pgsql-jp: 28031] Re: DB FILE

sugita @ sra.co.jp sugita @ sra.co.jp
2002年 11月 19日 (火) 14:02:25 JST


From: Naofumi Kondoh <nkon @ shonan.ne.jp>
Subject: [pgsql-jp: 28023] DB FILE (Re: )
Date: Tue, 19 Nov 2002 12:09:18 +0900

;;; (例)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 を超えるファイル名の付け方の部分をソースコード
;;; で確認していないので、未公開のままです。

  自分が作ったシェルスクリプトでは、このようにしています。

    # 指定されたリレーションに分割ファイルがあれば追加する
    if [ -f $DATABASEDIR/${relationfileid}.1 ] ; then
        dutarget="$dutarget `ls $DATABASEDIR/${relationfileid}.*`"
    fi

    # TOAST に分割ファイルがあれば追加する
    if [ -f $DATABASEDIR/${toastfileid}.1 ] ; then
        dutarget="$dutarget `ls $DATABASEDIR/${toastfileid}.*`"
    fi

;;; どなたか、ソースコードを調べて頂ければ、プログラムを公開し
;;; ます。あるいは、未完成承知で、デバッグしていただけるならば
;;; ソースコードを差し上げます( GPL ライセンス)。

  テーブルまたはインデックス名を指定して、ファイル分割を考慮して、テーブルと対
応する TOAST の合計サイズを求める 40 行のシェルスクリプトを作って使っています。


Kenji Sugita                                      



pgsql-jp メーリングリストの案内