這是我的設置。我有兩個模式:my_app
和static_data
。後者從靜態轉儲中導入。對於我的應用程序邏輯的需求,我提出了使用static_data
表的視圖,並將它們存儲在my_app
模式中。PostgreSQL:當另一個架構的視圖依賴於它時更新架構
這一切都很好。但我需要用新的轉儲更新static_data
模式,並讓我的視圖使用新數據。問題是,無論我做什麼,我的觀點都會引用舊的模式!
我試圖在新模式中導入新轉儲static_data_new
,然後嘗試刪除static_data
並將static_data_new
重命名爲static_data
。它不起作用,因爲我的視圖依賴於static_data
中的表,因此PostgreSQL不會讓我刪除它。
然後我嘗試設置search_path
到static_data_new
。但是當我這樣做的時候,這些觀點仍然參考舊桌子!
是否有可能使用search_path
來引用表的視圖?謝謝。
感謝您的回答!我想最簡單的是使用1.並將'my_app'表存儲在另一個模式中。 – Artefact2
@ Artefact2:我發現[pgAdmin](http://www.pgadmin.org/)對這種操作非常有用。它提供完整的刪除併爲任何選定的對象創建腳本。 –
是的,我也使用它,雖然'pg_dump'和'pg_restore'只是更方便腳本等。 – Artefact2