我正在尝试处理一个场景,其中一个用户在“架构”中创建表格,并且所有这些表格应对特定用户/角色可见,即使表格已创建将来(在授予SELECT命令之后)。
我目前的流程如下:
USERS:dbadmin,user1,user2
SCHEMA:myschema
dbadmin=> GRANT ALL ON SCHEMA myschema to user1;
dbadmin=> GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO user2;
dbadmin=> ALTER SCHEMA myschema DEFAULT INCLUDE PRIVILEGES;
-- user1 now creates table
user1=> CREATE TABLE myschema.table1 (id INT);
-- can user2 see that table
user2=> SELECT * FROM myschema.table1;
-- Permission Denied for table1
关于如何做到这一点的任何想法?
感谢。
答案 0 :(得分:1)
从here找出问题。在这里发布给其他人。
上述查询中唯一的问题是使用" GRANT SELECT在SCHEMA中的所有表格"
相反,它应该" GRANT SELECT ON SCHEMA"