dblink_exec
dblink_exec — выполняет команду в удалённой базе данных
Синтаксис
dblink_exec(text connname, text sql [, bool fail_on_error]) returns text dblink_exec(text connstr, text sql [, bool fail_on_error]) returns text dblink_exec(text sql [, bool fail_on_error]) returns text
Описание
Функция dblink_exec выполняет команду (то есть любой SQL-оператор, не возвращающий строки) в удалённой базе данных.
Когда этой функции передаются два аргумента типа text, первый сначала рассматривается как имя постоянного подключения; если такое подключение находится, команда выполняется для него. Если не находится, первый аргумент воспринимается как строка подключения, как для функции dblink_connect, и заданное подключение устанавливается только на время выполнения этой команды.
Аргументы
- connname
- Имя используемого подключения; опустите этот параметр, чтобы использовать безымянное подключение. 
- connstr
- Строка подключения, описанная ранее для - dblink_connect
- sql
- SQL-запрос, который вы хотите выполнить в удалённой базе данных, например - insert into foo values(0, 'a', '{"a0","b0","c0"}').
- fail_on_error
- Если равен true (это значение по умолчанию), в случае ошибки, выданной на удалённой стороне соединения, ошибка также выдаётся локально. Если равен false, удалённая ошибка выдаётся локально как ЗАМЕЧАНИЕ, и возвращаемым значением функции будет - ERROR.
Возвращаемое значение
Возвращает состояние (либо строку состояния команды, либо ERROR).
Примеры
SELECT dblink_connect('dbname=dblink_test_standby');
 dblink_connect
----------------
 OK
(1 row)
SELECT dblink_exec('insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');');
   dblink_exec
-----------------
 INSERT 943366 1
(1 row)
SELECT dblink_connect('myconn', 'dbname=regression');
 dblink_connect
----------------
 OK
(1 row)
SELECT dblink_exec('myconn', 'insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');');
   dblink_exec
------------------
 INSERT 6432584 1
(1 row)
SELECT dblink_exec('myconn', 'insert into pg_class values (''foo'')',false);
NOTICE:  sql error
DETAIL:  ERROR:  null value in column "relnamespace" violates not-null constraint
 dblink_exec
-------------
 ERROR
(1 row)