Postgresql 中文操作指南

dblink_open — 在远程数据库中打开一个游标

Synopsis

dblink_open(text cursorname, text sql [, bool fail_on_error]) returns text
dblink_open(text connname, text cursorname, text sql [, bool fail_on_error]) returns text

Description

dblink_open() 在远程数据库中打开游标。随后可以使用 dblink_fetch()dblink_close() 操作游标。

Arguments

  • connname

    • 要使用的连接的名称;省略此参数以使用未命名的连接。

  • cursorname

    • 要分配给此游标的名称。

  • sql

    • 您希望在远程数据库中执行的 SELECT 语句,例如 select * from pg_class

  • fail_on_error

    • 如果为 true(省略时默认为 true),则在连接的远程端抛出错误将导致本地也抛出错误。如果为 false,则远程错误在本地以 NOTICE 报告,函数的返回值设置为 ERROR

Return Value

返回状态,可能是 OKERROR

Notes

由于游标只能持久存在于事务中,因此 dblink_open 在远程端启动一个显式事务块 ( BEGIN )(如果远程端尚不在事务中)。当匹配的 dblink_close 执行时,此事务将再次关闭。请注意,如果您使用 dblink_execdblink_opendblink_close 之间更改数据,然后发生错误,或者您在 dblink_close 之前使用 dblink_disconnect ,则会更改 will be lost ,因为事务将中止。

Examples

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)