📜  postgresql 向用户授予更改表 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:39.118000             🧑  作者: Mango

PostgreSQL 向用户授予更改表 - SQL

在 PostgreSQL 数据库中,可以通过 SQL 语句向用户授予更改表的权限。

授予权限的语法
GRANT privilege_name ON table_name TO role_name;

其中,privilege_name 是要授予的权限,如 SELECTINSERTUPDATEDELETEREFERENCESTRIGGER 等,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_nametable_namerole_name 含义与授予权限相同。

例如,撤销 DELETE 权限:

REVOKE DELETE ON my_table FROM developer;
修改角色权限的语法
ALTER ROLE role_name WITH privilege_name;

例如,将角色 developer 的权限改为 INSERTUPDATE

ALTER ROLE developer WITH INSERT, UPDATE;
总结

在 PostgreSQL 数据库中,可以通过 SQL 语句向用户授予更改表的权限,也可以撤销用户的权限,还可以修改用户的权限。具体使用方式参见上述 SQL 语句的语法和示例。