[英]PostGIS and PostgreSQL search path
我们最近将Geodjango和PostGIS添加到了系统中。 我看到PostGIS会安装在public
模式中。 现在,我们正在使用PostgreSQL模式进行客户端租用,例如,客户端A将具有模式tenant_A
,因此我们通常手动设置搜索路径:
SET search_path TO tenant_A;
但是由于PostGIS位于公共模式中,所以我现在必须这样做:
SET search_path TO tenant_A, public;
仅将PostGIS表-甚至仅把geometry_columns
表移动到各个客户端模式中是否有意义? 这样做的好处是:1)客户的GIS数据具有更大的分离度; 2)特定于租户的维护(备份,迁移等)将更加容易。
这几乎没有道理,因为PostGIS对象对于所有客户端都是相同的。 如果每个客户端都安装一个单独的实例,则会浪费大量磁盘空间,并且还会降低缓存效率。
如果其他对象不关心的其他对象位于公共模式中,则可以选择将PostGIS安装到专用模式(如postgis
然后将其包含在search_path
。
如果您确实想严格地分离客户端,则必须为每个客户端创建单独的数据库,甚至是数据库集群。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.