Postgres DBLink 在哪里查询 运行?

Where do Postgres DBLink queries run?

全部,

我是 运行 目标服务器上的一个查询,它从源服务器检索数据。我的查询正在使用摘要功能。摘要在两台服务器上。它嵌入在两个服务器上也存在的 UDF 中。顺便说一句,查询的 "select" 部分在源服务器上完美运行。

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

感谢任何帮助。

TIA,

麦克

查询在连接字符串中指定的服务器上执行。如果没有给出主机,则在本地主机上。它们是使用连接字符串中的角色执行的。这还包括该角色的 search_path

与您的问题无关,但我会在调试您描述的问题时尝试两件事:

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