【发布时间】:2015-09-03 20:03:11
【问题描述】:
我正在使用闲置脚本来创建用户。
CREATE ROLE readonly LOGIN PASSWORD 'thePwd';
-- Existing objects
GRANT CONNECT ON DATABASE the_db TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO readonly;
创建用户和角色后; “只读”用户具有“选择”权限。没有删除或截断权利。但是“只读”用户拥有正确的“更改表”命令。
如何限制特定用户的“更改表”权限?
有简单的例子吗?
【问题讨论】:
-
根据显示的命令,它不应该有。
-
有示例脚本吗?
-
你在
GRANT USAGE ON SCHEMA ...之前连接到the_db了吗? -
请在受影响的表上显示有效但不应该有效的命令以及
\dp tablename的输出 -
我使用了上面的SQL Scripts,一步一步来。 readonly 用户按 SELECT 脚本的预期工作得很好(没有 Drop,没有 Truncate);期待'ALTER TABLE SAMPLE ADD/DROP Column“column_sample”'
标签: postgresql