Postgresql 中文操作指南
Synopsis
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
Description
dblink_exec 在远程数据库中执行命令(即任何不返回行的 SQL 语句)。
当给定两个 text 参数时,第一个参数首先作为持久连接的名称进行查找;如果找到,该命令便在这种连接上执行。如果未找到,第一个参数将被视为 dblink_connect 的连接信息字符串,并且只是在此命令的持续时间内建立指示的连接。
Arguments
-
connname
-
要使用的连接的名称;省略此参数以使用未命名的连接。
-
-
connstr
-
连接信息字符串,如 dblink_connect 之前所述。
-
-
sql
-
您希望在远程数据库中执行的 SQL 命令,例如 insert into foo values(0, 'a', '{"a0","b0","c0"}') 。
-
-
fail_on_error
-
如果为 true(省略时默认为 true),则在连接的远程端抛出错误将导致本地也抛出错误。如果为 false,则远程错误在本地以 NOTICE 报告,函数的返回值设置为 ERROR 。
-
Examples
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)