dblink_get_pkey
dblink_get_pkey — возвращает позиции и имена полей первичного ключа отношения
Синтаксис
dblink_get_pkey(text relname) returns setof dblink_pkey_results
Описание
Функция dblink_get_pkey
выдаёт информацию о первичном ключе отношения в локальной базе данных. Иногда это полезно при формировании запросов, отправляемых в удалённые базы данных.
Аргументы
relname
Имя локального отношения, например
foo
илиmyschema.mytab
. Заключите его в двойные кавычки, если это имя в смешанном регистре или содержит специальные символы, например"FooBar"
; без кавычек эта строка приводится к нижнему регистру.
Возвращаемое значение
Возвращает одну строку для каждого поля первичного ключа, либо не возвращает строк, если в отношении нет первичного ключа. Тип результирующей строки определён как
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)