dan*_*dan 4 postgresql postgis
我不想将所有表定义抛出到与使用标准PostGIS安装过程创建的PostGIS定义相同的公共模式(http://postgis.refractions.net/docs/ch02.html).
有没有人对使用PostGIS时如何将事物组织成单独的模式有任何建议?
正如我刚才回答您之前提到的相关问题时,我建议您根本不要使用public架构.为PostGis等扩展保留它,并为对象使用一个或多个单独的模式.
公共模式与数据库中的任何其他模式没有任何不同.PostgreSQL完全不需要它.它恰好是默认架构,其中许多扩展都放置了它们的东西.所以把你的东西放在其他地方并设置search_path你需要的地方.
然后,您还可以使用匹配的预设创建相应的用户search_path.基本设置可能如下所示:
CREATE ROLE sales;
ALTER ROLE sales SET search_path=sales, public; -- postgis functions in public?
COMMENT ON ROLE sales IS 'Sales app uses this user to connect.';
CREATE ROLE sales_admin;
ALTER ROLE sales_admin SET search_path=sales, public;
COMMENT ON ROLE sales_admin IS 'Owns objects in schema sales.';
CREATE SCHEMA sales;
GRANT ALL ON SCHEMA sales TO sales_admin;
GRANT USAGE ON SCHEMA sales TO sales;
COMMENT ON SCHEMA sales IS 'All objects for my sales app here.'
Run Code Online (Sandbox Code Playgroud)
您还会DEFAULT PRIVILEGES对用户或架构感兴趣.在这个密切相关的问题下更多:
在db中的特定模式上将所有内容授予PostgreSQL中的组角色
| 归档时间: |
|
| 查看次数: |
1800 次 |
| 最近记录: |