我使用Python脚本创建表并将数据插入其中。但是,只有我能够看到创建的表。我的团队成员看不见他们。我该怎么改变这个?
我可以包含哪些Python语句来授予每个人访问权限?我使用'vertica_python‘和'sqlalchemy’通过Python连接到数据库。
发布于 2019-01-31 19:56:58
授予特权的语法是(请参阅赠款(表)):
GRANT SELECT ON TABLE <schema>.<table> TO <user>;您可以在表上授予下列特权:
SELECTINSERTUPDATEDELETEREFERENCESTRUNCATE在授予表上的特权之前,必须至少在表的架构上授予USAGE。
GRANT USAGE ON SCHEMA <schema> to <user>;但是,如果这些表都在同一个架构中,则可以将特权授予架构级别上的用户。要做到这一点,首先您必须启用模式继承。然后将模式上的权限授予用户。这样,您就不需要在创建表时一直对表授予特权。
GRANT USAGE, SELECT ON SCHEMA <schema> TO <user>;发布于 2019-01-31 20:01:30
要授予权限(如select权限),要求您首先具有此类权限。
根据Vertica的网站,授予能力需要:
伪解
取决于谁需要访问,您可以使用用户名、角色或公共(all)。
下面是一些示例语句--因为我自己还没有完成vertica的工作,所以我不能测试这个
GRANT SELECT on all tables in schema myschema TO [user/role/PUBLIC] WITH GRANT OPTION;
GRANT PRIVILEGE或
GRANT SELECT on schema.TABLENAME TO [user/role/PUBLIC] WITH GRANT OPTION;
GRANT PRIVILEGE用Python处理请求
并在python脚本中通过sqlalchemy处理它(请参阅这个问题中的注意事项):
sSQL = "my sql grant statement(s)"
with oSuperEngine.begin() as conn:
conn.execute(sSQL)
conn.execute("COMMIT")https://stackoverflow.com/questions/54467723
复制相似问题