[pgsql-jp: 29972] oid の同一性と生成ロジックについて

HAYAKAWA Hiroshi hayakawa @ sam.hi-ho.ne.jp
2003年 5月 19日 (月) 13:01:45 JST


早川@名古屋です。

「WEB+DB PRESS」の最新号vol.14の
特集3「PostgreSQLへのレプリケーション導入法」
を読んでいてふと疑問に思ったことがあります。

この記事自体はPGReplicateを中心としたもので、
その作者の方が書かれていますが、その記事の中で、

〜〜〜
クエリーベースのレプリケーションでは
OIDや現在時刻取得関数などはレプリケーションできないという制限がある
これはUsogres(うそぐれす)でも同様
〜〜〜

という主旨の記述がありました。
つまりそれらは使用できないということだと理解したのですが、
いまUsogresを利用していてoidも使っちゃっています。
これまで障害が発生したことはないのですが、
(ただし使い方はヘビーではないです)
ちょっと不安になって情報を探してみたものの
oidの使用不可について言及されたものがみつかりませんでした。

つまるところ、PostgreSQLにおいて
initdb以降同一のクエリーを同じ順に実行した場合に、
oidが同一であることがoidの生成ロジック的に保証されていれば
実質的な問題は発生しない、と言えると思うのですが、
いかがなものなのでしょうか。


ちなみに、いまは、ウェブアプリケーションにおいて、
新規データの登録時に、INSERTの後にoidを取得し、
そのoidを用いてそのデータのシリアルなIDを取得する、
というロジックを多用しています。

もし上記のことが保証されていなければ
このロジックは使えないですよね?


-----
With your dreaming, with your smile.
Hayakawa, Hiroshi <hayakawa @ sam.hi-ho.ne.jp>
Nagoya,Aichi,JAPAN ☆彡




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