Postgresql
從外部表創建物化視圖
我想從位於不同數據庫中的表中創建一個簡單的*物化視圖。*這兩個數據庫在同一台伺服器上。
我必須添加什麼才能使查詢訪問外部數據庫和那裡的表?
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
腳步:
- 添加副檔名
- 創建外部伺服器
- 創建使用者映射
- 創建外部表。如果您有 9.5+,請參閱https://www.postgresql.org/docs/current/static/sql-importforeignschema.html
- 創建指向外部表的物化視圖