如何创建(FDW)外部表并将其映射到不同的模式



这就是我定义外部表的方式:

CREATE FOREIGN TABLE ftbl_employee (
id UUID,
name VARCHAR,
)
SERVER company_registry_dbserver
OPTIONS (schema_name 'company', table_name 'company_employee');

它成功地创建了外部表。但是,当我列出外部表时,它默认为public模式。请参见foreign_table_schema列:

> select * from information_schema.foreign_tables;
ftbl_employe
foreign_table_catalog
沙箱公共沙箱company_register_dbserver

information_schema.foreign_tables保存本地存储外部表的架构,而不是目标数据库中表的架构。因此,如果本地不存在此外来表,就无法在模式company中创建它!您需要本地运行。。

CREATE SCHEMA company;

或者与CCD_ 3模式中的外来表共存。请记住,一张外国桌子只不过是一张"桌子";网关";到位于不同数据库/服务器中的表。如果您想了解有关外部表的更多详细信息,例如nameschema,请查看视图pg_foreign_table:

SELECT relname, ftoptions 
FROM pg_foreign_table 
JOIN pg_class ON ftrelid = oid;

相关内容

  • 没有找到相关文章

最新更新