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

How to create MVIEW containing dblink in postgresql

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

我遇到以下错误:

错误:“@”处或附近的语法错误。 MVIEW 语句的语法是:CREATE Materialized view XYS as select ***** from target@dblink.

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

请帮忙。

SQL 是标准化的,但是每个数据库都有自己的方言,所以你不能期望 non-standard SQL 语句从 Oracle 移植到 PostgreSQL.

与其使用数据库 link,不如在 PostgreSQL 中使用外部 table,因此根据目标 table 的位置,您将安装postgres_fdw 或 oracle_fdw.

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