postgres的用户和角色

简介: 为了引导数据库系统,一个刚刚被初始化好的系统总是包含一个预定义角色。

为了引导数据库系统,一个刚刚被初始化好的系统总是包含一个预定义角色。这个角色总是一个“superuser”,并且默认情况下(除非在运行initdb时修改)它的名字和初始化数据库集簇的操作系统用户相同。习惯上,这个角色将被命名为postgres。为了创建更多角色,你首先必须以初始角色的身份连接。

要决定现有角色的集合,检查pg_roles系统目录,例如:SELECT rolname FROM pg_roles;

psql程序的\du元命令也可以用来列出现有角色。


postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 scutech   | Create role, Create DB                                     | {}
postgres=#

为了方便,createuser和dropuser程序被提供作为这些 SQL 命令的包装器,它们可以从 shell 命令行调用:


createuser name
dropuser name


CREATE USER和CREATE ROLE等效,除了CREATE USER默认假定有LOGIN,而CREATE ROLE不这样。

要创建一个新数据库超级用户,使用CREATE ROLE name SUPERUSER。


相关文章
|
4月前
|
关系型数据库 数据库 数据安全/隐私保护
PostgreSQL基础之教你如何轻松管理用户角色与权限
PostgreSQL基础之教你如何轻松管理用户角色与权限
164 0
|
5月前
|
存储 数据安全/隐私保护 索引
设计一个完美的用户角色权限表
设计一个完美的用户角色权限表
418 1
|
数据安全/隐私保护 数据库管理
Oracle-用户、角色以及权限控制
Oracle-用户、角色以及权限控制
42 0
|
关系型数据库 数据库 数据安全/隐私保护
PG 用户(角色)操作
用户(角色)操作
140 0
|
Oracle 关系型数据库 MySQL
MySQL角色(role)功能介绍
上篇文章,我们介绍了 MySQL 权限管理相关知识。当数据库实例中存在大量的库或用户时,权限管理将会变得越来越繁琐,可能要频繁进行权限变更。MySQL 8.0 新增了 role 功能,使得权限管理更加方便,本篇文章我们来看下 8.0 下的 role 功能。
527 0
|
存储 关系型数据库 MySQL
MySQL 查看用户授予的权限
在MySQL中,如何查看一个用户被授予了那些权限呢? 授予用户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子程序层级权限。具体分类如下:     全局层级   全局权限适用于一个给定服务器中的所有数据库。
2160 0
|
关系型数据库 MySQL 测试技术
MySQL 授予普通用户PROCESS权限
在MySQL中如何给普通用户授予查看所有用户线程/连接的权限,当然,默认情况下show processlist是可以查看当前用户的线程/连接的。     mysql> grant process on MyDB.
1642 0
|
关系型数据库 数据库 数据库管理
|
关系型数据库 数据库 数据库管理