如何让一个组里的用户可以拥有对某个数据库里所有的表sel/ins/upd/del/rul ()权限?
在帮助里我看到的是grant的语法只可以对某个表授予权限,我想一次性授予某个用户对数据库所有表所有权限。
在pgadmin里试了很多次赋权向导,只能给public赋权其他的不行
在帮助里我看到的是grant的语法只可以对某个表授予权限,我想一次性授予某个用户对数据库所有表所有权限。
在pgadmin里试了很多次赋权向导,只能给public赋权其他的不行
grant all privileges on 数据库名.* to 'username'@'%' identified by 'password';
ERROR: syntax error at or near "TO"
LINE 1: grant all privileges on database1.* TO User1 identified by '...
^********** 错误 **********ERROR: syntax error at or near "TO"
SQL 状态: 42601
字符:35
有客户端工具EMS,里面有这功能
CREATE DATABASE yourdb;
GRANT ALL PRIVILEGES ON DATABASE yourdb to user;
授权
GRANT ALL PRIVILEGES ON DATABASE yourdb to user;
最后重启下服务
你的可以执行,但还是用户不能访问该数据库下的表。(同二楼)
ERROR: permission denied for relation table1********** 错误 **********ERROR: permission denied for relation table1
SQL 状态: 42501
照你的语句执行下去的话。
如果用新用户创建新表,当然可以查询这个新建的表。
但对原来已经存在的表没有查询权限。
你可能没理解我的意思。
此发行版本已经集成PostgreSQL 8.4、pgAdmin等多个组件,同时有Windows、Linux 32/64bit版本选择,安装及使用都相对方便。http://www.enterprisedb.com/products/download.do
看来还是一个个表赋权,只不过ems的是自动生成赋权语句,和pgAmin III赋权向导一样,不同的是能给除public外的用户或组生成赋权语句。