[英]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.