[pgsql-jp: 34623] Re: fieldのOID
hirano
hirano @ valuenet.co.jp
2005年 1月 12日 (水) 17:18:02 JST
平野と申します。
> PQftypeでフィールドタイプのOIDを取得できます。このOIDを取得して
> 型情報を取得できると思うのですが、私は実際にこのOIDを使って何か
> したことがありません。
>
> 使い方は解かるのですが、実際のシステムでこのOIDが取得できると
> なにに役に立つでしょうか?
CREATE TABLE時に WITHOUT OIDS を付けてテーブルを作成
すると、OIDがないテーブルができますし、将来対象テーブル
をVIEWに置き換えたとき、移行が面倒だったり、OIDが
限界値までインクリメントされてしまって一周したとき
の処理を考えたりで、後々厄介になる恐れがあるので私は
その利用を敬遠しています。
もし使うとしても、各レコードのユニークキーとして使う
目的くらいしかちょっと思いつかないのですが、テーブル
にプライマリキーを作ればOIDはSQLで引っ張る必要はない
と思っています。
#あとは、OIDの値から、そのテーブルがどのくらい追加変更
#されたかの目安にするとか・・・これは意味無いですね・・。
ただし、システムテーブル(pg_***)テーブル郡の連結には
多用されているようなので、弊社で作っているソフトの
PostgreSQLオブジェクトツリーを構築するときにはOID
をキーにジョインして子テーブル項目を引っ張ったりし
ています。(OIDを使用するしか方法がなさそうでしたので)
参考になれば幸いです。
0--------1---------2---------3---------4---------5
株式会社バリューソフトウエア
平野 源
hirano @ valuenet.co.jp
ValueSQL -- For all SQL developers --
http://gwsrv.valuenet.co.jp/ValueSQL/pukiwiki.php
0--------1---------2---------3---------4---------5
pgsql-jp メーリングリストの案内