PostgreSQL数据库角色管理

PostgreSQL大约 1253 字

创建角色

SQL命令

CREATE ROLE test_role;

shell命令行

creatuser test_role;

删除角色

SQL命令

DROP ROLE test_role;

shell命令行

dropuser test_role;

查看角色

psql元命令

\du

SQL命令

SELECT rolname FROM pg_roles;

创建可以登陆的角色

login privilege

登录权限。CREATE USERCREATE ROLE等效,除了CREATE USER默认假定有LOGIN,而CREATE ROLE不是。

CREATE ROLE test_role LOGIN;

等价于

CREATE USER test_role;

superuser status

数据库超级用户能绕开所有权限检查,除了登入的权利。

CREATE ROLE test_role SUPERUSER;

database creation

创建数据库权限

CREATE ROLE test_role CREATEDB;

role creation

创建/修改/删除角色权限(操作超级管理员需要超级管理员权限)。

CREATE ROLE test_role CREATEROLE;

initiating replication

流复制权限,被用于流复制的角色必须也具有LOGIN权限。

CREATE ROLE test_role REPLICATION LOGIN;

password

用户连接时需要密码。

CREATE ROLE test_role PASSWORD 'string';

默认角色

角色允许的访问
pg_read_all_settings读取所有配置变量,甚至是那些通常只对超级用户可见的变量。
pg_read_all_stats读取所有的pgstat*视图并且使用与扩展相关的各种统计信息,甚至是那些通常只对超级用户可见的信息。
pg_stat_scan_tables执行可能会在表上取得ACCESS SHARE锁的监控函数(可能会持锁很长时间)。
pg_signal_backend向其他后端发送信号(例如:取消查询、中止)。
pg_read_server_files允许使用COPY以及其他文件访问函数从服务器上该数据库可访问的任意位置读取文件。
pg_write_server_files允许使用COPY以及其他文件访问函数在服务器上该数据库可访问的任意位置中写入文件。
pg_execute_server_program允许用运行该数据库的用户执行数据库服务器上的程序来配合COPY和其他允许执行服务器端程序的函数。
pg_monitor读取/执行各种监控视图和函数。这个角色是pg_read_all_settings、pg_read_all_stats以及pg_stat_scan_tables的成员。
阅读 356 · 发布于 2020-02-21

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看换一批