天天看点

postgresql学习笔记(四)角色

1、在PostgreSQL安装过程中的数据初始化阶段,系统会默认创建一个名为postgres的角色(同时会创建一个名为postgres的同名database)。

2、可以通过ident身份验证机制来将操作系统的的root用户映射到数据的Postgresql角色,这样可以实现root用户无密码直接登录

3、创建具备登录权限的角色

<code>postgres=# </code><code>create</code> <code>role leo login </code><code>password</code> <code>'king'</code> <code>createdb valid until </code><code>'infinity'</code><code>;</code>

valid行是可选的,其功能是为此角色的权限设定有效期,过期后所有权限都将失效,默认时限是infinity,即永不过期。

createdb修饰符表明为此角色赋予了创建数据库的权限

4、创建具备超级用户权限的角色

<code>postgres=# </code><code>create</code> <code>role regina login </code><code>password</code> <code>'queen'</code> <code>superuser valid until </code><code>'2019-1-1 00:00'</code><code>;</code>

5、创建组角色

<code>postgres=# </code><code>create</code> <code>role royalty INHERIT;</code>

INHERIT表示组角色royalty的任何一个成员角色都将自动继承其除“超级用户权限”外的所有权限。

将组角色的权限授予其成员角色

<code>postgres=# </code><code>grant</code> <code>royalty </code><code>to</code> <code>leo;</code>

<code>postgres=# </code><code>grant</code> <code>royalty </code><code>to</code> <code>regina;</code>

本文转自 corasql 51CTO博客,原文链接:http://blog.51cto.com/corasql/1914386,如需转载请自行联系原作者