如何在PostgreSQL中创建包含dblink的MVIEW

问题描述

我从oracle数据库提取了MVIEW语句,并在postgresql db中执行了这些语句。

我得到以下错误

错误:“ @”处或附近的语法错误。 MVIEW语句的语法是:从target @ dblink中选择*****创建CREATE物化视图XYS。

我不确定postgresql mview是否可以识别或分析'@'符号。请帮忙。

请帮助。

解决方法

SQL是标准化的,但是每个数据库都有自己的方言,因此您不能期望非标准的SQL语句从Oracle移植到PostgreSQL。

您将使用PostgreSQL中的外部表而不是使用数据库链接,因此,根据目标表的位置,您将安装postgres_fdw或oracle_fdw。

此外,CREATE MATERIALIZED VIEW语句在PostgreSQL和Oracle中有所不同。 PostgreSQL在Oracle中只有所谓的REFRESH COMPLETE ON DEMAND,所以很有可能您需要重新设计一下。