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?
也许firewall
或hba_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 ()