pg_filedumpを触った
PostgreSQL Deep Dive / pg_filedumpでテーブル/インデックスファイルを覗いてみる を参考に。
rpmでインストールしたpostgresqlのバージョンは9.1.6。
先ずはソースを取得
$ wget http://ftp.postgresql.org/pub/source/v9.1.6/postgresql-9.1.6.tar.gz $ tar xvfz postgresql-9.1.6.tar.gz
pg_filedump
$ wget http://pgfoundry.org/frs/download.php/3182/pg_filedump-9.1.0.tar.gz tar xvfz pg_filedump-9.1.0.tar.gz
pg_crc.cをコピー
$ cp postgresql-9.1.6/src/backend/utils/hash/pg_crc.c ../pg_filedump-9.1.0/ $ cd ../pg_filedump-9.1.0
makeする前にPGSQLパスの変更
$ vi Makefile PGSQL=../postgresql-9.1.6 $ make
するとpg_filedump の実行ファイルが出来上がる。
でこんな感じで実行
$ pg_filedump /var/lib/pgsql/9.1/data/base/oid/filenode