在我的Postgres数据库中,我使用BYPASSRLS创建了一个角色group.我将group分配给用户archibald.我预计有user人会有BYPASSRLS.然而,我发现用户无法绕过行级安全性.

我可以通过将BYPASSRLS直接授予阿奇博尔德来解决这个问题,但我想按组来管理.

代码:

create role group nologin bypassrls;
grant usage on schema public to group;
grant select on all tables in schema public to group;

create user archibald password 'password';
grant group to archibald;

预期结果:archibald应该能够看到所有表中的所有行. 实际结果:由于行级安全,他什么也看不到.

推荐答案

与角色的所有其他属性一样,您不能继承BYPASSRLS.仅继承对象的权限和所有权以及角色中的成员身份.

Postgresql相关问答推荐

使用函数返回值作为另一个函数的参数

在PostgreSQL中是否有与SQLite R*Tree类似功能?

锁定模式与PostgreSQL中的另一种锁定模式冲突到底是什么意思?

Psql:Windows 10上奇怪的错误输出编码

PL/pgSQL中的IP递增函数

求和直到达到一个值 postgresql

Postgres 视图定义 (pgAdmin) 被删除了 comments ?

带有附加组的时间刻度 interpolated_average

在 PostgreSQL 中提高 GROUP BY ... HAVING COUNT(...) > 1 的性能

如何在 PostgreSQL 中截断日期?

Heroku PGError:operator does not exist: character varying = integer

Postgres 图像未创建数据库

PostgreSQL 中的 JSON 外键

如何在容器内创建 postgres 扩展?

查询仅属于特定部门的用户

将 SELECT 结果作为参数传递给 postgreSQL 函数

为 Django Postgres 连接强制 SSL

如何将表的一列复制到PostgreSQL中比较相同ID的另一表的列

使用 PostgreSQL 的 Linq To Sql

PostgreSQL 中具有多个连接的 UPDATE 语句