如果你创建了一个数据库对象,那么你就成为它的所有者。缺省时,只有对象的所有者可以在对象上做任何事情。为了允许其它用户使用它,我们必须赋予他们权限。不过超级用户总是可以操作任何对象。
有好多种不同的权限:SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, USAGE 。适用于特定对象的权限因对象类型(表/函数等)不同而不同。
根据对象的类型(表,函数等),权限将应用于对象。 要为用户分配权限,使用GRANT命令。
GRANT命令的基本语法如下:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
privilege − 值可以为:SELECT,INSERT,UPDATE,DELETE, RULE,ALL。
object − 要授予访问权限的对象名称。可能的对象有: table, view,sequence。
PUBLIC − 表示所有用户。
GROUP group − 为用户组授予权限。
username − 要授予权限的用户名。PUBLIC 是代表所有用户的简短形式。
示例:
给用户 "runoob" 分配权限:
runoobdb=# GRANT ALL ON COMPANY TO runoob; GRANT
推荐:PostgreSQL教程