Postgres DBLink查询在哪里运行?

时间:2018-07-30 22:14:58

标签: postgresql function dblink

全部

我正在目标服务器上运行查询,该查询从源服务器检索数据。我的查询正在使用摘要功能。摘要在两个服务器上。它被嵌入在两台服务器上都存在的UDF中。顺便说一句,查询的“选择”部分可以在源服务器上完美运行。

我认为,当您提交远程查询时,它将在远程框中执行。我收到“ 1函数摘要(文本,未知)不存在...”错误。另外,由于所有功能都位于两台服务器上的公共模式中,所以我看不出Postgres失败的原因是找到该功能。

任何帮助表示赞赏。

TIA,

迈克

1 个答案:

答案 0 :(得分:0)

查询在连接字符串中指定的服务器上执行。如果未提供主机,则在localhost上。它们是使用连接字符串中的角色执行的。其中还包括该角色的search_path

与您的问题无关,但是在调试您所描述的问题时,我会尝试两种方法:

  1. 使用与dblink连接字符串相同的角色连接到远程服务器并执行查询
  2. 模式在dblink中限定该功能:public.digest(..)