PostgreSQL 12 中的 GRANT
命令用于授予用户或角色对数据库对象(如表、视图、函数等)的访问权限。它的一般语法如下:
GRANT [权限列表] ON [对象类型] [对象名称] TO [用户或角色];
其中:
权限列表
:表示要授予的权限,可以是多个权限,用逗号分隔。常见的权限包括 SELECT、INSERT、UPDATE、DELETE、REFERENCES、TRIGGER 等等。对象类型
:表示要授予权限的对象类型,可以是 TABLE、VIEW、FUNCTION、SEQUENCE 等等。对象名称
:表示要授予权限的对象名称。用户或角色
:表示要授予权限的用户或角色。
以下是一些示例:
-
授予用户
alice
对表mytable
的 SELECT 权限:GRANT SELECT ON mytable TO alice;
-
授予角色
myrole
对视图myview
的 SELECT 和 UPDATE 权限:GRANT SELECT, UPDATE ON myview TO myrole;
-
授予用户
bob
对函数myfunc
的 EXECUTE 权限:GRANT EXECUTE ON FUNCTION myfunc TO bob;
-
授予用户
charlie
对序列myseq
的 SELECT 和 USAGE 权限:GRANT SELECT, USAGE ON SEQUENCE myseq TO charlie;
请注意,只有具有足够权限的用户或角色才能授予或撤销权限。如果您没有足够的权限,则无法执行此操作。