□postgreSQL テーブル名とファイル名との関連を調べる。
 postgreSQLは、テーブルとファイルの関係が一致します。
Oralceなどのようなデータファイルを独自で管理するようなことはなく、OSのファイル管理を
利用する形になっています。どのテーブルのデータがどのファイルに実際格納されているかは
下記のSQL文から確認できます。
select relname , relfilenode from pg_class order by 1;
(実行例)
iplocksdb=# select relname , relfilenode from pg_class order by 1;
             relname             | relfilenode
---------------------------------+-------------
 pg_description                  |       16416
 pg_group                        |        1261
 pg_proc                         |        1255
 pg_rewrite                      |       16410
 pg_user                         |       16681
 pg_rules                        |       16684
 pg_views                        |       16688
 pg_xactlock                     |           0
 pg_tables                       |       16691
 pg_indexes                      |       16694
 pg_stats                        |       16698
relfilenode項目の数値が、ファイル名にあたる。データ格納用ディレクトリ
の同名のファイルを確認してください。只一定のサイズを超えるとロールオーバー
を起こして複数ファイルに分割されます。
その他便利なコマンド
テーブルの実際のサイズ(Byte単位):  select pg_relation_size('<テーブル名>')
データベースの実際のサイズ(Byte単位):select pg_database_size('<データベース名')
また、各データベースのデータファイルの格納されているフォルダは下記SQL文にて調べる
ことができます。
select datname,oid from pg_database;
iplrepdb=> select datname,oid from pg_database;
 datname  |  oid
----------+-------
postgres  | 10793
template1 |     1
template0 | 10792
(5 rows)
datnameがデータベース名に該当します
oidが、フォルダの名前に該当します。
<PostgreSQL データディレクトリ>\base\<oid>
または
<PostgreSQL データディレクトリ>/base/<oid>
で示されるフォルダに、PostgreSQLの各オブジェクトに対応するファイルが保存されます。
(テーブル、インデックス)
<PostgreSQL データディレクトリ>は起動時の-Dに指定するフォルダになります。
最終更新:2008年03月26日 10:15