Postgresql

從外部表創建物化視圖

  • June 9, 2016

我想從位於不同數據庫中的表中創建一個簡單的*物化視圖。*這兩個數據庫在同一台伺服器上。

我必須添加什麼才能使查詢訪問外部數據庫和那裡的表?

CREATE MATERIALIZED VIEW mv_table_1 AS
 SELECT *
 FROM public.mv_table_1 --The schema & table from the different DB
WITH DATA;

我嘗試使用完全限定的表名(架構名稱之前的數據庫名稱),但這會導致錯誤:

未實現對其他數據庫的引用

預設情況下,PostgreSQL 數據庫不能“看到”彼此。這是一件好事。

您可以使用 postgres_fdw 外部數據包裝器使一個 pg 數據庫看到另一個:https ://www.postgresql.org/docs/current/static/postgres-fdw.html

腳步:

  1. 添加副檔名
  2. 創建外部伺服器
  3. 創建使用者映射
  4. 創建外部表。如果您有 9.5+,請參閱https://www.postgresql.org/docs/current/static/sql-importforeignschema.html
  5. 創建指向外部表的物化視圖

引用自:https://dba.stackexchange.com/questions/140341