这是我的设置。我有两个模式: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