如何检查Postgres中的表是否启用了行级安全性

时间:2019-03-07 14:25:57

标签: database postgresql row-level-security

在postgres中的表上启用行级安全性非常简单:

alter table some_table enable row level security;

您将如何查看给定架构中的哪些表启用了行级安全性(用于测试)?

1 个答案:

答案 0 :(得分:3)

它存储在pg_class

  • relrowsecurity bool如果表已启用行级安全性,则为true;否则为false。参见pg_policy目录
  • relforcerowsecurity布尔值如果行级安全性(启用时)也适用于表所有者,则为true;否则为false。参见pg_policy目录

因此您可以使用:

select relname, relrowsecurity, relforcerowsecurity
from pg_class
where oid = 'your_table_name'::regclass;

或者使用pg_tables