dblink_get_pkey
名前
dblink_get_pkey -- リレーションの主キーフィールドの位置とフィールド名を返します
概要
dblink_get_pkey(text relname) returns setof dblink_pkey_results
説明
dblink_get_pkey
は、ローカルデータベース内のリレーションの主キーに関する情報を提供します。
これはリモートデータベースに送信する問い合わせを生成する際に役に立つことがあります。
引数
- relname
例えばfooやmyschema.mytabといった、ローカル側のリレーションの名前です。
例えば"FooBar"のように名前に大文字小文字が混在する場合や特殊文字が含まれる場合は二重引用符で括ってください。
引用符がないと文字列は小文字に変換されます。
戻り値
主キー毎に1行を返します。
リレーションが主キーを持たない場合は行は返されません。
結果の行型は以下のように定義されます。
CREATE TYPE dblink_pkey_results AS (position int, colname text);
position列は単に1からNを返します。
それは、主キー内にあるフィールドの数で、テーブルの列内にある数ではありません。
例
CREATE TABLE foobar (
f1 int,
f2 int,
f3 int,
PRIMARY KEY (f1, f2, f3)
);
CREATE TABLE
SELECT * FROM dblink_get_pkey('foobar');
position | colname
----------+---------
1 | f1
2 | f2
3 | f3
(3 rows)