首页 > 解决方案 > “GRANT SELECT table TO 角色”不起作用

问题描述

我有非常简单的数据库(PostgreSQL)

我创建了一个角色:manage

命令:CREATE ROLE manage WITH NOSUPERUSER NOCREATEDB LOGIN;

然后,我执行了

set role postgres;
GRANT SELECT ON public.orders TO manage;
SET ROLE manage;
SELECT * FROM orders;

但是,当我尝试执行时:

select * from orders

我看到空输出

输出 - 角色:管理

但是,在该表中,有一些行:

这是使用角色 postgres 的输出。

输出 - 角色:postgres

我想赋予阅读“管理”角色的权利。

标签: postgresql

解决方案


两种可能:

  1. 在不同的模式中有两个同名的表

  2. 行级安全性在表上处于活动状态。


推荐阅读