PostgreSQL 外表错误关系不存在

Posted

技术标签:

【中文标题】PostgreSQL 外表错误关系不存在【英文标题】:PostgreSQL Foreign Table Error Relation Doesn't Exist 【发布时间】:2019-03-26 06:25:59 【问题描述】:

我创建了一个外部表urltrackerft

在我的国外服务器util 中有表urltracker

我已按照以下步骤在此处创建外部服务器和表: https://www.postgresql.org/docs/current/postgres-fdw.html

我的创建脚本如下所示:

CREATE FOREIGN TABLE urltrackerft (
    id numeric NOT NULL,
    ...
) SERVER util
OPTIONS (schema_name 'util', table_name 'urltracker');

但是当我尝试阅读 urltrackerft 表时,我收到以下错误消息:

在我看来,可能是外部服务器没有完全同步。

检查用户映射,信息看起来正确,会不会是主机不是 IP 而是 DNS?

也许firewallhba_conf 对于其中一台服务器不正确。但是我在主服务器中看到了外部服务器util。我对这个有点迷茫。任何帮助表示赞赏,谢谢!

主服务器在 PostgreSQL v10,外部服务器在 PostgreSQL v11。

【问题讨论】:

【参考方案1】:

如果我没看错你的彩色图片,你的外表似乎在数据库util 的架构public 中。

那么下面的外表定义不起作用也就不足为奇了:

OPTIONS (schema_name 'util', table_name 'urltracker')

请改用schema_name 'public'

【讨论】:

以上是关于PostgreSQL 外表错误关系不存在的主要内容,如果未能解决你的问题,请参考以下文章

org.postgresql.util.PSQLException:错误:关系不存在 PreparedStatement.executeQuery ()

错误:关系列不存在 PostgreSQL,无法运行插入查询

外部表可以与本地表同名吗?

PostgreSQL 错误的所有权

关系“表名”不存在(postgresql)

春季启动中的postgresql错误