他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

dblink_get_pkey

名前

dblink_get_pkey -- リレーションのプライマリキーフィールドの位置とフィールド名を返します

概要

dblink_get_pkey(text relname) returns setof dblink_pkey_results

説明

dblink_get_pkeyは、ローカルデータベース内のリレーションのプライマリキーに関する情報を提供します。 これはリモートデータベースに送信する問い合わせを生成する際に役に立つことがあります。

引数

relname

例えばfoomyschema.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)