作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查看 pgAdmin 中的一些表,我可以看到具有以下语句的表定义
ALTER TABLE table_name
OWNER TO user_name;
GRANT ALL ON TABLE table_name TO user_name;
同一数据库中的其他表省略了第二个 GRANT ALL
语句,我怀疑它是多余的,因为 user_name
已经是 OWNER
的 table_name
。
那么,在这种情况下 GRANT ALL
是多余的吗?如果是的话,我是否可以删除它的定义(从 table_name
> Properties > Privileges 选项卡)?
谢谢
最佳答案
可能不会,但请参阅下文。
默认情况下,所有者对表拥有全部权限,请注意他们也可以授予对自己表的权限。这独立于赋予公众的任何权利。见:
chris=> create table footest(id int);
CREATE TABLE
chris=> revoke all on footest from public;
REVOKE
chris=> insert into footest values (1);
INSERT 0 1
chris=> revoke all on footest from chris;
REVOKE
chris=> insert into footest values (1);
ERROR: permission denied for relation footest
chris=> grant all on footest to chris;
GRANT
chris=>
因此,除非您已经撤销了您不需要授予它们的权限。
关于postgresql - 我是否需要将 ALL 授予 PostgreSQL 9.3 数据库中某个表的所有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37183144/
我是一名优秀的程序员,十分优秀!