ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# dblink_connect_u ## Name dblink_connect_u -- 危险的打开一个到远程数据库的持久连接 ## Synopsis ``` dblink_connect_u(text connstr) returns text dblink_connect_u(text connname, text connstr) returns text ``` ## 描述 `dblink_connect_u()`与`dblink_connect()`是相同的, 除了它将允许非超级用户使用任何身份验证方法进行连接。 如果远程服务器选择一个不涉及密码的身份验证方法,然后模拟并且产生权限的随后升级, 因为该会话将出现于用户,正如本地PostgreSQL服务器运行的那个。 同时,即使远程服务器确实需要密码,从服务器环境提供密码是可能的,比如 `~/.pgpass`文件从属于服务器的用户。这不仅仅打开模拟风险,而且 可能将密码暴露给不信任的远程服务器。 因此,`dblink_connect_u()`初始安装从`PUBLIC`撤销的所有权限。 使得它不可请求即付只有超级用户可以。 在一些情况下可以为`dblink_connect_u()`指定可以信赖的用户适当授予 `EXECUTE`权限,但这应该仔细的做。 推荐任何从属于服务器的用户的`~/.pgpass`文件_不_包含 指定通配符主机名的任何记录。 更多详情请参阅`dblink_connect()`。