我们确实要求创建一个db_link(数据库链接)必须引用同一个数据库。
当我查看函数中的代码时。这有点像这样。
perform dblink_connect(cn,'loopback'::text);
cn is the connection name;
我通过使用此查询验证了是否有任何具有名称loopback的外部服务器。但是,没有运气
select
srvname as name,
srvowner::regrole as owner,
fdwname as wrapper,
srvoptions as options
from pg_foreign_server
join pg_foreign_data_wrapper w on w.oid = srvfdw;
我怀疑环回是指同一个数据库。
当我执行函数时,我收到以下错误
**Error:password is required**
我验证了db_link extension it's there and dblink_fdw is also there
Environment:Postgres RDS
答案 0 :(得分:1)
函数调用应如下所示:
PERFORM dblink_connect(cn, 'host=loopback user=...');
这是一个普通的libpq连接字符串;有关详细信息,请参阅the documentation。
pg_hba.conf
应包含
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
如果您需要密码验证,请使用md5
代替trust
并在连接字符串中提供密码。
我从未听说过dblink_fdw ......