PostgreSQL中文学习手册(角色和权限)
PostgreSQL中文学习手册(角色和权限)
PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。一、数据库角色:
1. 创建角色:
CREATE ROLE role_name;
2. 删除角色:
DROP ROLE role_name;
3. 查询角色:
检查系统表pg_role,如:
SELECT usename FROM pg_role;
也可以在psql中执行\du命令列出所有角色。
二、角色属性:
一个数据库角色可以有一系列属性,这些属性定义他的权限,以及与客户认证系统的交互。
1. 登录权限:
只有具有LOGIN属性的角色才可以用于数据库连接,因此我们可以将具有该属性的角色视为登录用户,创建方法有如下两种:
CREATE ROLE name LOGIN PASSWORD '123456‘;
CREATE USER name PASSWORD '123456';
2. 超级用户:
数据库的超级用户拥有该数据库的所有权限,为了安全起见,我们最好使用非超级用户完成我们的正常工作。和创建普通用户不同,创建超级用户必须是以超级用户的身份执行以下命令:
CREATE ROLE name SUPERUSER;
3. 创建数据库:
角色要想创建数据库,必须明确赋予创建数据库的属性,见如下命令:
CREATE ROLE name CREATEDB;
4. 创建角色:
一个角色要想创建更多角色,必须明确给予创建角色的属性,见如下命令:
CREATE ROLE name CREATEROLE;
|
评论暂时关闭