2017-05-29 118 views
-1

我正尝试在一个场景中工作,其中一个用户在'架构'中创建表,并且所有这些表应该对特定用户/角色可见,即使表格将在未来创建(在授予SELECT命令后)。对Vertica中所有新表的架构级SELECT权限

我现在的流程是:

USERS:dbadmin,用户1,用户2
架构: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 

如何做到这一点任何想法?
谢谢。

回答

1

here中找出问题所在。在这里发布给其他人。

在上面查询,唯一的缺点是使用“GRANT SELECT ON架构中的所有表”
相反,它应该是“GRANT SELECT ON模式”