以下是 GRANT 语句的基本语法:
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[, ...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] table_name [, ...]
TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ];
其中:
- SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER 等是授予的具体权限。
- ALL 表示授予所有权限。
- PRIVILEGES 关键字可选。
- ON TABLE table_name 指定要授予权限的表或其他对象。
- TO role_name 指定要授予权限的用户或用户组。
- PUBLIC 表示所有用户。
- WITH GRANT OPTION 允许受权用户将授予的权限再授予给其他用户。
以下是一些示例:
1. 授予某个用户对表的 SELECT 权限:
GRANT SELECT ON TABLE your_table TO your_user;
2. 授予某个用户对表的所有权限:
GRANT ALL PRIVILEGES ON TABLE your_table TO your_user;
3. 授予某个用户对所有表的 SELECT 权限:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO your_user;
4. 授予某个用户创建表的权限:
GRANT CREATE ON SCHEMA public TO your_user;
请注意,在使用 GRANT 语句时,确保只给予用户或用户组必要的权限,以最小化潜在的安全风险。
转载请注明出处:http://www.zyzy.cn/article/detail/8743/PostgreSQL