security_barrier
视图安全屏障
约束视图条件与外部条件的求值顺序,用于防止不可信表达式越过视图过滤条件。
当前查看 PostgreSQL 18.6。
说明
如果该视图旨在提供行级安全,则应使用此选项。详见 第 39.5 节。
- 适用对象
- 视图选项
- 取值类型
- 布尔值
用法
WITH (security_barrier = value)视图选项
普通视图不存储查询结果。此选项控制视图的安全或更新语义,使用 CREATE VIEW 的 WITH 子句或 ALTER VIEW 设置,不是表或索引的物理存储参数。
安全语义
如果自动可更新视图带有 security_barrier 属性,那么视图上的所有 WHERE 条件(以及任何使用标记为 LEAKPROOF 的操作符的条件)总会先于视图使用者添加的任何条件求值。详见 第 39.5 节。请注意,因此那些最终不会返回的行(因为它们未通过用户的 WHERE 条件)仍可能被锁定。可以使用 EXPLAIN 查看哪些条件是在关系级别应用的(因而不会锁定行),哪些则不是。
相关条目
文档与源码
查看来源构建
- 版本
- 18.6
- 构建
- 本地中文手册 18.6
- 来源指纹
2892290581c230fa73001957e37b5061767c1449e17d120024cc081bfc36a941
同类条目
check_option视图检查选项security_invoker以调用者权限访问视图
返回存储参数 · 此条目的收录范围为 PostgreSQL 10 至 20;起点不一定是实际引入版本。