📅  最后修改于: 2023-12-03 15:18:39.118000             🧑  作者: Mango
在 PostgreSQL 数据库中,可以通过 SQL 语句向用户授予更改表的权限。
GRANT privilege_name ON table_name TO role_name;
其中,privilege_name
是要授予的权限,如 SELECT
、INSERT
、UPDATE
、DELETE
、REFERENCES
、TRIGGER
等,table_name
是要授予权限的表名,role_name
是要授予权限的角色名。
GRANT privilege_name ON table_name TO role_name;
例如,向具备 UPDATE
权限的角色 developer
授权:
GRANT UPDATE ON my_table TO developer;
GRANT privilege_name ON table_name TO PUBLIC;
例如,向所有角色授权 INSERT
权限:
GRANT INSERT ON my_table TO PUBLIC;
REVOKE privilege_name ON table_name FROM role_name;
其中,privilege_name
、table_name
、role_name
含义与授予权限相同。
例如,撤销 DELETE
权限:
REVOKE DELETE ON my_table FROM developer;
ALTER ROLE role_name WITH privilege_name;
例如,将角色 developer
的权限改为 INSERT
和 UPDATE
:
ALTER ROLE developer WITH INSERT, UPDATE;
在 PostgreSQL 数据库中,可以通过 SQL 语句向用户授予更改表的权限,也可以撤销用户的权限,还可以修改用户的权限。具体使用方式参见上述 SQL 语句的语法和示例。