postgresql学习--权限管理

概述

相比mysql而言,postgresql在权限管理上最大的特点是引入了角色的概念,角色就是一系列相关权限的集合。比如mysql需要授权的话,直接给某个user在需要的对象上grant需要的权限,这样操作其实是比较繁琐的,你需要对每一个新建出来的账户都精细地分配不同的权限值,因为需要权限值可能会非常多且不同。而引入的角色的概念后,将可以将一些列相关的数据库权限赋给一个角色,然后再把角色赋给user就行。

在postgre中,一个用户也是一个角色,我们可以将一个用户的权限赋给另外一个用户,并且用户和角色在数据库实例层面是全局的。在初始化postgre时,有一个预定义的超级用户,这个用户名称就是你安装postgre时的linux系统账户。

角色的属性和创建语法

CREATE ROLE name [ [ WITH ] option [ ... ] ]
 
 这里的option可以是:
 
      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 privilege

只有具有LOGIN属性的角色才可以用作数据库连接的初始角色名。一个带有LOGIN属性的角色可以认为是和"数据库用户"相同的事物。要创建一个具有登录权限的角色,可以有以下两种方法

CREATE ROLE name LOGIN;

CREATE USER name;

也就是说,除了CREATEUSER默认赋予LOGIN之外,CREATEUSER 等价于CREATEROLE(默认不赋予CREATE ROLE)

superuser status

数据库超级用户超越所有权限检查。这是一个危险的权限,应该小心使用;最好使用非超级用户完成你的大多数工作。要创建数据库超级用户,CREATEROLE name SUPERUSER命令。你必须用已经是超级用户的角色执行这条命令。

database creation

角色要想创建数据库,必须明确给出权限(对于超级用户是例外,因为他们超越所有权限检查)要创建这样的角色,用CREATEROLE name CREATEDB命令。

role creation

角色要想创建角色,必须明确给出权限(对于超级用户是例外,因为他们超越所有权限检查)要创建这样的角色,用CREATEROLE name CREATEROLE 命令。一个带有CREATEROLE权限的角色也可以更改和删除其它角色,以及给其它角色赋予或者撤销成员关系。不过,要创建、更改、删除一个超级用户角色的成员关系,需要具有超级用户属性;只有CREATEROLE还不够。

initiating replication

角色要想启动流复制,必须明确给出权限(对于超级用户是例外,因为他们超越所有权限检查)用于流复制的角色必须总是拥有LOGIN权限。要创建这样的角色,使用CREATEROLEname REPLICATIONLOGIN命令。

Password

只有在客户认证方法要求与数据库建立连接必须使用口令的时候,口令才比较重要。 passwordmd5认证方法使用口令。数据库口令与操作系统口令是无关的。在创建角色的时候可以这样声明一个口令:CREATEROLE name PASSWORD 'string'

INHERIT

如果一个账户拥有某一个或多个角色,这时指定为INHERIT,则表示用户自动拥有相应角色的权限,否则这个账户没有该角色的权限。即决定一个角色是否"继承"它所在组的角色的权限。一个带有INHERIT属性的角色可以自动使用已经赋与它直接或间接所在组的任何权限。没有INHERIT,其它角色的成员关系只赋与该角色SET ROLE 成其它角色的能力;其它角色的权限只是在这么做了之后才能获得。如果没有声明,缺省是INHERIT

CONNECTION LIMIT connlimit

如果角色可以登录,这个参数声明该角色可以使用的并发连接数量。-1(缺省)意味着没有限制。

ENCRYPTED

这些关键字控制存储在系统表里面的口令是否加密。(如果没有指定,那么缺省的行为由配置参数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性。 openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者共同构建一个多元化技术的开源数据库社区。 软件特点: 1、高性能 openGauss突破了多核CPU的瓶颈,实现两路鲲鹏128核150万tpmC,内存优化表(MOT)引擎达350万tpmC。 2、数据分区 内部线程共享的关键数据结构进行数据分区,减少加锁访问冲突。比如CLOG就采用分区优化,解决ClogControlLock锁瓶颈。 3、NUMA化内核数据结构 关键数据结构NUMA化分配,减少跨CPU访问。比如全局PGPROC数组按照NUMA Node的数目分为多份,分别在对应NUMA Node上申请内存。解决ProcArrayLock锁瓶颈。 4、绑核优化 把网络中断绑核和后台业务线程绑核区分开,避免运行线程在核间迁移造成的性能不稳定。 5、ARM指令优化 结合ARM平台的原子操作lse进行优化,实现关键互斥变量原子高效操作。 6、SQL BY PASS 通过SQL BY PASS优化SQL执行流程,简化CPU执行开销。 7、高可靠 正常业务负载情况下,RTO小于10秒,降低节点故障导致的业务不可用时间。 8、并行恢复 主机日志传输到备机时,备机日志落盘的同时,发送给重做恢复分发线程,分发线程根据日志类型和日志操作的数据页发给多个并行恢复线程进行日志重做,保证备机的重做速度跟上主机日志的产生速度。这样备机实时处于ready状态,从而实现瞬间故障切换。 9、MOT引擎(Beta发布) 内存优化表(MOT)存储引擎是一个专为多核大内存优化的存储引擎,具有极高的联机事务处理(OLTP)性能和资源利用率。MOT的数据和索引完全存储在内存中,通过NUMA感知执行,算法消除闩锁争用以及查询JIT本地编译,提供低时延数据访问及高效事务执行。更多请参考MOT引擎文档。 10、安全 openGauss支持账号管理,账号认证,口令复杂度检查,账号锁定,权限管理和校验,传输加密,操作 审计等全方位的数据库安全能力,保护业务满足安全要求。 11、易运维 openGauss将AI算法集成到数据库中,减少数据库维护的负担。 12、SQL预测 openGauss根据收集的历史性能数据进行编码和基于深度学习的训练及预测,支持SQL执行时间预测。 13、SQL诊断器 openGauss支持SQL执行语句的诊断器,提前发现慢查询。 14、参数自动调整 openGauss通过机器学习方法自动调整数据库参数,提高调参效率,降低正确调参成本。
PostgreSQL中文学习手册 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据表 数据表 ) 4 一、表的定义: 一、表的定义: 一、表的定义: . 4 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (模式 Schema) Schema) .9 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (表的继承和分区 表的继承和分区 表的继承和分区 表的继承和分区 ) 10 一、表的继承: 一、表的继承: 一、表的继承: .10 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (常用数据类型 常用数据类型 常用数据类型 ) 16 一、数值类型: 一、数值类型: 一、数值类型: .16 六、数组: 六、数组: .22 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (函数和操作符 函数和操作符 函数和操作符 <一>) 25 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: 一、逻辑操作符: .25 四、字符串函数和操作: 四、字符串函数和操作: 四、字符串函数和操作: 四、字符串函数和操作: 四、字符串函数和操作: 四、字符串函数和操作: .27 五、位串函数和操作符: 五、位串函数和操作符: 五、位串函数和操作符: 五、位串函数和操作符: 五、位串函数和操作符: .29 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (函数和操作符 函数和操作符 函数和操作符 <二>) 30 六、模式匹配: 六、模式匹配: 六、模式匹配: .30 八、时间 八、时间 /日期函数和操作符: 日期函数和操作符: 日期函数和操作符: 日期函数和操作符: 日期函数和操作符: 33 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (函数和操作符 函数和操作符 函数和操作符 <三>) 35 九、序列操作函数: 九、序列操作函数: 九、序列操作函数: 九、序列操作函数: . 35 十二、系统信息 十二、系统信息 十二、系统信息 函数: 函数: .38 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (索引 ) 42 一、索引的类型: 一、索引的类型: 一、索引的类型: 一、索引的类型: .42 四、唯一索引: 四、唯一索引: 四、唯一索引: .43 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (事物隔离 事物隔离 ) 45 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (性能提升技巧 性能提升技巧 性能提升技巧 ) 46 一、使用 一、使用 EXPLAINEXPLAINEXPLAINEXPLAIN EXPLAIN: 46 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (服务器配置 服务器配置 服务器配置 ) 50 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: 一、服务器进程的启动和关闭: . 50 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (角色和权限 角色和权限 角色和权限 ) 52 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据库管理 数据库管理 数据库管理 ) 54 一、概述: 一、概述: .54 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据库维护 数据库维护 数据库维护 ) 56 一、恢复磁盘空间: 一、恢复磁盘空间: 一、恢复磁盘空间: 一、恢复磁盘空间: . 56 二、更新规划器统计: 二、更新规划器统计: 二、更新规划器统计: 二、更新规划器统计: 二、更新规划器统计: .57 四、定期重建索引: 四、定期重建索引: 四、定期重建索引: 四、定期重建索引: . 59 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (系统表 系统表 ) 61 一、 pg_class: pg_class: pg_class: pg_class:pg_class: 61 三、 pg_attrdef: pg_attrdef: pg_attrdef:pg_attrdef:pg_attrdef:pg_attrdef:pg_attrdef:pg_attrdef:pg_attrdef: . 63 四、 pg_authid: pg_authid: pg_authid: pg_authid:pg_authid: 64 五、 pg_auth_members: pg_auth_members: pg_auth_members: pg_auth_members:pg_auth_members: pg_auth_members:pg_auth_members:pg_auth_members:pg_auth_members: .64 七、 pg_tablespace: pg_tablespace: pg_tablespace: pg_tablespace: pg_tablespace: pg_tablespace:pg_tablespace: .65 十、 pg_index: pg_index: pg_index:pg_index:pg_index:pg_index: . 67 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (系统视图 系统视图 ) 68 一、 pg_tables: pg_tables: pg_tables: pg_tables: pg_tables: 68 二、 pg_indexes: pg_indexes: pg_indexes:pg_indexes:pg_indexes:pg_indexes: 68 三、 pg_views: pg_views:pg_views: pg_views: pg_views:pg_views: . 68 四、 pg_user: pg_user: pg_user:pg_user:pg_user: .69 五、 pg _roles:_roles:_roles:_roles: _roles: 69 六、 pg_rules: pg_rules:pg_rules:pg_rules: pg_rules: 69 七、 pg_settings: pg_settings: pg_settings: pg_settings:pg_settings: pg_settings:pg_settings:pg_settings: .70 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (客户端命令 客户端命令 客户端命令 <一>) 70 零、口令文件: 零、口令文件: 零、口令文件: .70 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (客户端命令 客户端命令 客户端命令 <二>) 75 七、 pg_dump: pg_dump: pg_dump:pg_dump:. 75 八、 pg_restore: pg_restore:pg_restore:pg_restore: pg_restore:pg_restore:pg_restore:pg_restore: 77 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (SQL (SQL语言函数 语言函数 ) . 83 一、基本概念: 一、基本概念: 一、基本概念: .83 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (PL/pgSQL (PL/pgSQL(PL/pgSQL 过程语言 过程语言 ) .86 一、概述: 一、概述:
【资源介绍】 C#课设项目-基于ASP.NET开发的EasyCms后台权限管理系统源码+项目说明+sql数据库.zipC#课设项目-基于ASP.NET开发的EasyCms后台权限管理系统源码+项目说明+sql数据库.zipC#课设项目-基于ASP.NET开发的EasyCms后台权限管理系统源码+项目说明+sql数据库.zip 依赖环境 .net5.0, redis,mysql,SqlServer,PostgreSql ## 权限管理 用户管理 角色管理 菜单管理 通用字典 登录日志 异常日志 Hangfire定时任务 单位组织 职位信息 代码生成辅助 ## CMS内容管理 栏目管理 文章管理 模板管理 模板匹配 静态页面生成(可以实现完全静态页面访问,也可以使用路由方式访问,没静态页面要求的,建议使用路由方式) 前台IP访问限制 站点信息设置 上传设置,水印设置 文章内容插入视频,大文件分片上传,播放器使用ckplayer 提供文章,栏目,站点信息的常用数据源,用于页面渲染调用 广告管理 通讯录 会议管理 ## 注意事项 + hangfire使用的litedb来存储数据,请给与data/hangfire_litedb.db 数据文件相应的读写权限,否则站点无法启动 + 登录使用了ip2region来解析登录ip地址,请将data/ip2region.db 数据库文件放置到站点根目录下,否则无法登录 + 如果启用hangfire任务并且部署到IIS的化请注意应用程序池的设置,避免回收造成资源占用导致站点启动失败,其他的站点设置如启用预加载,AlwaysRunning等都需要设置 【备注】 该项目是个人毕设/课设/大作业项目,代码都经过严格调试测试,功能ok才上传,可快速上手运行!欢迎下载使用,若遇到问题请及时私信沟通,帮助解决。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,可直接作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础还可以,动手能力强的也可做二次开发,以实现不同的功能。 欢迎下载使用,也欢迎交流学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值