簡體   English   中英

PostgreSQL DBLink:沒有函數匹配給定的名稱和參數類型

[英]PostgreSQL DBLink: No function matches the given name and argument types

我在玩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到不包括公共列表)。 盡管數據庫包含函數DBlink(text, text) ,但是無法找到該函數。

為了DBlink起作用,您需要將特定的架構添加到DBlink函數調用中。

SELECT public.dblink(xxx, yyy);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM