如何授予整个数据库的选择特权? (不是模式)

时间:2019-05-30 04:59:38

标签: postgresql privileges

postgres分离模式和数据库概念。 如何向数据库中所有表的用户授予选择特权?

postgres=# GRANT ALL on DATABASE dbname to tbdev;
GRANT

太好了,您会想到所有权限吗?除了实际上没有以外,那些不包括任何SELECT之类的数据库操作。然后尝试:

postgres=# GRANT SELECT on DATABASE dbname to tbdev;
ERROR:  invalid privilege type SELECT for database

读取SELECT不是针对数据库的,而是pgs模式的抽象层。因此尝试使用公共模式,但这些都不起作用:

GRANT ALL on SCHEMA public to tbdev;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO tbdev ;

作为该用户,我仍然得到:

ticket_battle=> select * from events;
ERROR:  permission denied for table events

那么通常如何使用PG创建用户和数据库?

0 个答案:

没有答案