(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 索引可以加快处理速度。
是否可以向用户授予仅对 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 索引可以加快处理速度。