FrontPage > DataBase > PostgreSQL > システムテーブル

システムテーブル

[システム列] OID

Oracleで言う「rowid」に相当するシステム列。
最大Version 8.1?から標準では使用できなくなりました。
(CREATE TABLE時に「WITH OIDS」が必要。)

SELECT oid,* FROM [TABLE];
取得した「oid」を使用し特定のレコードの削除、更新が可能。
<UPDATE例>
UPDATE [TABLE] SET xxx = xxxx WHERE oid = xxxx;
<DELETE例>
DELETE FROM [TABLE] WHERE oid = xxxx;

[システム列] CTID

テーブル内の行バージョンの物理的位置。
更新(UPDATE)又は、VACUUM FULLすると情報が変わるため
長期的にては使えませんので、
「OID」の様に使用する場合は注意が必要。

SELECT ctid,* FROM [TABLE];
取得した「oid」を使用し特定のレコードの削除、更新が可能。
<UPDATE例>
UPDATE [TABLE] SET xxx = xxxx WHERE ctid = xxxx;
※更新するとCTIDが変わります。
<DELETE例>
DELETE FROM [TABLE] WHERE ctid = xxxx;

[システム列] TABLEOID

テーブルのOID

[システム列] XMIN

挿入トランザクションの識別情報。
(使用用途?)

[システム列] CMIN

挿入トランザクション内のコマンド識別子。
(使用用途?)

[システム列] XMAX

削除トランザクションの識別情報。
(使用用途?)

[システム列] CMAX

削除トランザクション内のコマンド識別子。
(使用用途?)


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-27 (月) 01:25:33