dblink_exec — 在远程数据库中执行命令
dblink_exec(text connname, text sql [, bool fail_on_error]) 返回 text dblink_exec(text connstr, text sql [, bool fail_on_error]) 返回 text dblink_exec(text sql [, bool fail_on_error]) 返回 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如果为真(省略时默认),则连接远程端抛出的错误也会在本地抛出。如果为假,远程端错误会在本地报告为一个 NOTICE,并且该函数的返回值会被设为 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)
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。