【问题标题】:Import Foreign Type with postgresql_fdw使用 postgresql_fdw 导入外部类型
【发布时间】:2018-08-27 18:42:39
【问题描述】:

我有一个自定义类型的数据库,它无法使用 IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1 导入,因为 CREATE FOREIGN TABLE 失败。如何导入自定义类型?另外,自定义类型是从公共架构中引用的,如何将其更改为使用本地服务器的架构?

reporting=> IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1;
ERROR:  type "public.custom_type" does not exist
LINE 8:   start public.custom_type OPTIONS (column_name 'start'),
                ^
QUERY:  CREATE FOREIGN TABLE table1 (
  id bigint OPTIONS (column_name 'id') NOT NULL,
  start public.custom_type OPTIONS (column_name 'start'),
  "end" public.custom_type OPTIONS (column_name 'end')
) SERVER replica_db1
OPTIONS (schema_name 'public', table_name 'table1');
CONTEXT:  importing foreign table "table1"
reporting=> IMPORT FOREIGN TYPE public FROM SERVER replica_db1 INTO db1;
ERROR:  syntax error at or near "TYPE"
LINE 1: IMPORT FOREIGN TYPE public FROM SERVER replica_db1 INT...

谢谢

【问题讨论】:

  • 现在有什么解决办法吗?我觉得手动复制类型很无聊。

标签: postgresql postgres-fdw


【解决方案1】:

在使用以下命令导入架构之前,您必须在服务器中创建数据类型“public.custom_type”:

IMPORT FOREIGN SCHEMA public FROM SERVER replica_db1 INTO db1;

【讨论】:

  • 是的,我创建了 custom_type 作为解决此问题的解决方法。我正在尝试找出是否有任何内置功能可以自动创建外部类型。
  • 我浏览了各种资源,没有这个功能。 PG 作者似乎不愿意解决import foreign schema 实现中的任何关系依赖关系。看到这个有趣的线程:postgresql.org/message-id/20141203213139.GA9855%40fetter.org
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 2011-05-19
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
相关资源
最近更新 更多