【问题标题】:How to create MVIEW containing dblink in postgresql如何在 postgresql 中创建包含 dblink 的 MVIEW
【发布时间】:2020-09-21 19:48:44
【问题描述】:
我从 oracle 数据库中提取 MVIEW 语句并在 postgresql db 中执行这些语句。
我得到以下错误:
错误:“@”处或附近的语法错误。
MVIEW 语句的语法是:CREATE Materialized view XYS as select ***** from target@dblink.
我不确定 postgresql mview 是否识别或解析 '@' 符号。请帮忙。
请帮忙。
【问题讨论】:
标签:
oracle
postgresql
view
dblink
materialized
【解决方案1】:
SQL 是标准化的,但每个数据库都有自己的方言,所以不能指望非标准的 SQL 语句从 Oracle 移植到 PostgreSQL。
您将在 PostgreSQL 中使用外部表而不是使用数据库链接,因此根据目标表的位置,您将安装 postgres_fdw 或 oracle_fdw。
此外,CREATE MATERIALIZED VIEW 语句在 PostgreSQL 和 Oracle 中有所不同。 PostgreSQL 在 Oracle 中只有所谓的 REFRESH COMPLETE ON DEMAND,所以您可能需要重新设计一点。