# 数据库链接_连接

数据库链接_connect — 打开到远程数据库的持久连接

# 概要

dblink_connect(text connstr) returns text
dblink_connect(text connname, text connstr) returns text

# 描述

dblink_connect()建立与远程 PostgreSQL 数据库的连接。要联系的服务器和数据库通过标准的 libpq 连接字符串来标识。或者,可以为连接分配一个名称。一次可以打开多个命名连接,但一次只允许一个未命名连接。连接将持续到关闭或数据库会话结束。

连接字符串也可以是现有外部服务器的名称。推荐使用foreign-data wrapperdblink_fdw定义外部服务器时。请参阅下面的示例,以及创建服务器创建用户映射.

# 论据

连名

用于此连接的名称;如果省略,则打开一个未命名的连接,替换任何现有的未命名连接。

connstr

libpq 风格的连接信息字符串,例如hostaddr=127.0.0.1 端口=5432 dbname=mydb user=postgres 密码=mypasswd options=-csearch_path=.详情见第 34.1.1 节.或者,外部服务器的名称。

# 返回值

返回状态,它总是好的(因为任何错误都会导致函数抛出错误而不是返回)。

# 笔记

如果不受信任的用户可以访问未采用安全模式使用模式,通过从搜索路径.例如,可以添加选项=-csearch_path=到*connstr*.这种考虑并不特定于数据库链接;它适用于执行任意 SQL 命令的每个接口。

只有超级用户可以使用dblink_connect创建非密码认证的连接。如果非超级用户需要此功能,请使用dblink_connect_u反而。

选择包含等号的连接名称是不明智的,因为这会带来与其他连接信息字符串混淆的风险数据库链接职能。

# 例子

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