# 数据库链接_打开
数据库链接_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()
.
# 论据
连名
要使用的连接名称;省略此参数以使用未命名的连接。
游标名
分配给此游标的名称。
sql
这选择
您希望在远程数据库中执行的语句,例如从 pg_class 中选择 *
.
fail_on_error
如果为 true(省略时的默认值),则在连接的远程端引发的错误会导致本地也引发错误。如果为false,则将远程错误本地报告为NOTICE,并将函数的返回值设置为错误
.
# 返回值
返回状态,要么好的
要么错误
.
# 笔记
由于游标只能在事务中持续存在,dblink_open
启动一个显式事务块 (开始
) 在远程端,如果远程端尚未在事务中。本次交易将在匹配时再次关闭dblink_close
被执行。请注意,如果您使用dblink_exec
在之间更改数据dblink_open
和dblink_close
,然后发生错误或您使用dblink_disconnect
前dblink_close
, 你的变化会迷路因为事务将被中止。
# 例子
SELECT dblink_connect('dbname=postgres options=-csearch_path=');
dblink_connect