# 数据库链接_打开

数据库链接_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_opendblink_close,然后发生错误或您使用dblink_disconnectdblink_close, 你的变化会迷路因为事务将被中止。

# 例子

SELECT dblink_connect('dbname=postgres options=-csearch_path=');
 dblink_connect