(Postgis) 基于几何的权限

(Postgis) Permission based on Geometry

是否可以向用户授予仅对 PostGIS 上的特定几何图形有效的权限? 例如,我有一个包含整个美国许多表的数据库,我想限制用户查看和更新​​特定状态。有没有办法 - 不添加状态列 - 来实现这一目标?如果不是,您建议使用哪种设置(即中间件)?

您可以使用行级安全性:

ALTER TABLE mygeoms ENABLE ROW LEVEL SECURITY;
ALTER TABLE mygeoms FORCE ROW LEVEL SECURITY;

CREATE POLICY only_in_area ON mygeoms
   FOR ALL TO some_role
   USING (to_contains(GEOMETRY 'SRID=4326;POLYGON((...)), geom_col);

那么some_role只能看到和修改满足条件的行

几何列上的 GiST 索引可以加快处理速度。