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)