dblink_open — 在远程数据库中打开游标
dblink_open(text cursorname, text sql [, bool fail_on_error]) 返回 text dblink_open(text connname, text cursorname, text sql [, bool fail_on_error]) 返回 text
dblink_open() 在远程数据库中打开游标。随后可以使用 dblink_fetch() 和 dblink_close() 操作该游标。
connname要使用的连接名称;省略该参数则使用未命名连接。
cursorname要分配给该游标的名称。
sql要在远程数据库中执行的 SELECT 语句,例如 select * from pg_class。
fail_on_error如果为真(省略时默认),则连接远程端抛出的错误也会在本地抛出。如果为假,远程端错误会在本地报告为一个 NOTICE,并且该函数的返回值会被设为 ERROR。
返回状态,可以是 OK 或 ERROR。
由于游标只能在事务中持续存在,如果远程端当前尚未处于事务中, dblink_open 会在远程端启动一个显式事务块(BEGIN)。 当执行匹配的 dblink_close 时,该事务会再次关闭。注意,如果在 dblink_open 和 dblink_close 之间用 dblink_exec 修改了数据,随后又发生错误,或者在调用 dblink_close 之前使用了 dblink_disconnect,所做的更改将会丢失,因为该事务会被中止。
SELECT dblink_connect('dbname=postgres options=-csearch_path=');
dblink_connect
----------------
OK
(1 row)
SELECT dblink_open('foo', 'select proname, prosrc from pg_proc');
dblink_open
-------------
OK
(1 row)
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。