PostgreSQL基础知识- 用户管理原创
金蝶云社区-Juliazhu
Juliazhu
5人赞赏了该文章 1,593次浏览 未经作者许可,禁止转载编辑于2021年12月09日 19:25:01

超级用户


在初始化数据库系统时有一个预定义的超级用户,这个用户的名称与初始化该数据库的操作系统用户名相同。

例如是用postgres用户initdb的数据库,那么postgresql就是超级用户,可以用这个超级用户连接数据库,然后创建出更多的普通用户或其他超级用户。


pg中的角色与用户

在pg中角色与用户是没有区别的,create role 和create user唯一的区别是create role创建出来的用户没有login权限。


创建用户或role,以下两条语句唯一的差别role用户没有login权限。

CREATE ROLE name WITH option;

CREATE USER name  WITH option;


具体的option选项,可以参考相关手册,这里不列举。


例如:

创建一个超级用户

pguser=# create user admin01 with superuser;

CREATE ROLE

创建一个带有密码的普通用户

postgres=# create user user01 with encrypted password 'user01@123';
CREATE ROLE

授予普通用户创建数据库的权限

pguser=# alter role user01 with createdb;

ALTER ROLE


用户和角色在整个数据库实例中是全局的,在同一个实例中的不同数据库中,看到的用户都是相同的。

例如:在任何一个数据库中都可以使用以下命令来查看role情况。

image.png



赞 5