dblink_open — 在远程数据库中打开游标
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
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_exec
在 dblink_open
和 dblink_close
之间更改数据,然后发生错误或在 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)
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用此表单 报告文档问题。