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.sqlSQL-запÑоÑ, коÑоÑÑй Ð²Ñ Ñ Ð¾ÑиÑе вÑполниÑÑ Ð² ÑдалÑнной базе даннÑÑ , напÑимеÑ
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)