加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL DBLink:没有函数匹配给定的名称和参数类型

发布时间:2020-12-13 16:08:01 所属栏目:百科 来源:网络整理
导读:我正在玩DBLINK,我想尝试一下.所以我运行这个简单的查询 CREATE EXTENSION dblink;SELECT * FROM dblink(('dbname=genesis_admin')::text,('SELECT * FROM user_account')::text); 然后让我惊讶 [WARNING ] CREATE EXTENSION dblink ERROR: extension "dblin
我正在玩DBLINK,我想尝试一下.所以我运行这个简单的查询

CREATE EXTENSION dblink;

SELECT *  
FROM dblink(('dbname=genesis_admin')::text,('SELECT * FROM user_account')::text);

然后让我惊讶

[WARNING  ] CREATE EXTENSION dblink
            ERROR:  extension "dblink" already exists
[WARNING  ] SELECT *  FROM dblink(('dbname=genesis_admin')::text,('SELECT * FROM user_account')::text)
            ERROR:  function dblink(text,text) does not exist
            LINE 1: SELECT *  FROM dblink(('dbname=genesis_admin')::text,('SELE...
                                   ^
            HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

如果它已经存在,它怎么能不存在?

解决方法

我遇到了同样的错误,原因是这是因为DBLink在公共模式中安装(默认情况下),并且您可能已经将search_path修改为不包含public的列表.数据库虽然包含函数DBlink(text,text)因此无法找到该函数.

要使其工作,您需要将特定架构添加到DBlink函数调用.

SELECT public.dblink(xxx,yyy);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读