首页数据库Postgres 创建Role并赋予权限的操作

Postgres 创建Role并赋予权限的操作

时间2024-02-29 18:55:03发布访客分类数据库浏览144
导读:收集整理的这篇文章主要介绍了Postgres 创建Role并赋予权限的操作,觉得挺不错的,现在分享给大家,也给大家做个参考。 创建RoleCREATE USER <role_nam...
收集整理的这篇文章主要介绍了Postgres 创建Role并赋予权限的操作,觉得挺不错的,现在分享给大家,也给大家做个参考。

创建Role

CREATE USER role_name>
     PASSWORD 'role_password>
    ';
    

赋予权限

赋予database所有权限

GRANT ALL ON DATABASE db_name>
     TO role_name>
    ;
    

赋予只读权限 (不能再db level直接赋予SELECT权限)

GRANT SELECT ON ALL TABLES IN SCHEMA schema_name>
     TO role_name>
    ;
    

查看权限

SELECT * From information_schema.role_table_grants;
    

补充:PostgreSQL角色、用户创建

1、数据库角色

数据库角色与操作系统用户的观念完全不同,其可以方便的维护数据库,但不是必须的。

创建数据库角色

CREATE ROLE name;
    

删除存在的角色

DROP ROLE name;
    

创建和删除用户

CREATE USER name;
    dropuser name;
    

检查存在的数据库角色

SELECT rolname From pg_roles;
    

\du #用这个命令也可以查看

数据库默认用户

数据库在安装完成后会在操作系统以及数据库中都建立一个默认的用户postgres,这个角色是“超级用户”,想使用数据库的更多功能,必须先用这个用户连接数据库。

数据库连接命令

psql -U name;
    

2、数据库角色属性

数据库角色有大量的属性,这些属性定义了角色的数据库登录以及操作权限。

CREATE ROLE name [ [ WITH ] option [ ... ] ]where option can be:SUPERUSER | NOSUPERUSER| CREATEDB | NOCREATEDB| CREATEROLE | NOCREATEROLE| CREATEUSER | NOCREATEUSER| INHERIT | NOINHERIT| LOgin | NOLOGIN| REPLICATION | NOREPLICATION| CONNECTION LIMIT connlimit| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'| VALID UNTIL 'timestamp'| IN ROLE role_name [, ...]| IN GROUP role_name [, ...]| ROLE role_name [, ...]| ADMIN role_name [, ...]| USER role_name [, ...]| SysID uid

登录权限

LOGIN属性用于赋予角色拥有连接数据库权限,命令二选一

CREATE ROLE name LOGIN;
    CREATE USER name;
    

CREATE USER 和CREATE ROLE几乎相同,除了CREATE USER默认带有登录权限,CREATE ROLE没有。

超级用户

超级用户拥有数据库的所有权限,必须小心超级用户的权限赋予,命令如下

CREATE ROLE name SUPERUSER;
    

创建数据库权限

CREATE ROLE name CREATEDB;
    

创建角色权限

CREATE ROLE name CREATEROLE;
    

初始化复制

CREATE ROLE name REPLICATION LOGIN;
    

密码

密码是用户登录数据库的客户端认证方式。密码创建后采用Md5加密算法加密。

CREATE ROLE name PASSWORD 'string';
    

更改权限

ALTER ROLE name SET enable_indexscan TO off;
    

3、角色组

角色组类似于操作系统的组权限,可以非常方便的对组内成员的权限进行管理。

可以用过GRANT和revOKE操作进行权限的赋予和回收。

GRANT group_role TO role1, ... ;
    REVOKE group_role FROM role1, ... ;
    

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • postgresql 切换 log、xlog日志的实现
  • postgresql 利用xlog进行热备操作
  • Postgresql中xlog生成和清理逻辑操作
  • Postgresql去重函数distinct的用法说明
  • postgresql 12版本搭建及主备部署操作
  • 开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Postgres 创建Role并赋予权限的操作
本文地址: https://pptw.com/jishu/633252.html
pgsql之create user与create role的区别介绍 postgresql 补齐空值、自定义查询字段并赋值操作

游客 回复需填写必要信息