[pgsql-jp: 32157] バックアップファイルをリストアした時ラージオブジェクトのOIDが変わらない方法はありますか?

JunnitiSibasaki jsibasaki @ luftwaffe.zive.net
2004年 1月 30日 (金) 19:00:58 JST


こんにちわ。

ラージオブジェクトとファイル名を関連付けるのにこのようなテーブルを作ってま
す。

 PG_OID       INTEGER        NOT NULL,
 DAY            TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
 FILE_NAME   VARCHAR(50)

 pg_oid      |            day                     |  file_name
---------+-----------------------+-------------
 6154158 | 2004-01-30 18:00:20.977707 | applets.bmp
 6154160 | 2004-01-30 18:00:23.862788 | calc.bmp

このデータベースとテーブルを以下のオプションでバックアップしました。
> pg_dump -b -Fc -o  hogedb > backup

このバックアップファイルを新しいデータベースへリストアすると
> createdb newhogedb
CREATE DATABASE
> pg_restore -d newhogedb backup

OIDが 6154442 6154444 になっていて呼出せません。これはアプリケーションの問題
なんですが。
上のようなテーブルデータをテキストボックス上に呼出してテキストボックスのOID
欄をクリックすると
定番の「名前を付けて保存」ダイアログが出るような仕組みです。
保存を選択すると pg_oid を条件にラージオブジェクトを探し出すといった具合で
す。
ですからOIDが変わってしまうと存在しないラージオブジェクトを探そうとするので
呼出す事が出来なくなってしまいます。

OIDを変えずにバックアップ・リストアをする方法はないでしょうか?
よろしくお願いいたします。







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