1. 角色(Role):
- 创建角色:
CREATE ROLE myuser LOGIN PASSWORD 'mypassword';
这将创建一个名为 myuser 的登录角色,该角色需要密码进行认证。
- 赋予角色:
GRANT myrole TO myuser;
这将把名为 myuser 的角色授予名为 myrole 的角色。
2. 权限(Privileges):
- 授予权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE mytable TO myuser;
这将授予 myuser 对名为 mytable 的表进行查询、插入、更新和删除的权限。
- 收回权限:
REVOKE SELECT ON TABLE mytable FROM myuser;
这将从 myuser 收回对名为 mytable 的表进行查询的权限。
3. 默认权限(Default Privileges):
- 设置默认权限:
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO myuser;
这将在指定架构中创建的新表上自动授予 myuser 查询、插入、更新和删除的权限。
4. 查看权限:
- 查看角色权限:
\du myuser
这将显示有关名为 myuser 的角色的详细信息,包括其拥有的权限。
- 查看表权限:
\dp mytable
这将显示有关名为 mytable 的表的详细权限信息。
5. 使用角色登录:
- 使用密码登录:
\c - myuser
这将使用用户名为 myuser 的角色登录,系统将提示输入密码。
- 使用操作系统用户登录:
\c myuser
这将使用与操作系统用户相同的名称的 PostgreSQL 角色登录。
这只是 PostgreSQL 权限管理的基本概念,实际使用中可能还涉及到更复杂的场景和操作。要注意的是,为了进行某些权限操作,你可能需要超级用户权限或特定的数据库权限。在进行权限更改时,请谨慎操作以确保数据库的安全性。
转载请注明出处:http://www.zyzy.cn/article/detail/8127/PostgreSQL