博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL Role Management
阅读量:6295 次
发布时间:2019-06-22

本文共 2106 字,大约阅读时间需要 7 分钟。

PostgreSQL 数据库管理

首先需要知道Pg的数据库逻辑分层1. Database -> 2. Schema -> 3. Table; Pg 的用户有1.Superuser 2. User Group 3. User

1. 创建用户

create role name (create role 后面可以有很多, 下面举一些例子 )

  1. create role name login (用户可以connect database, default create cannot login; CREATE USER is equivalent to CREATE ROLE WITH LOGIN)

  2. create role name with login createdb createrole (用户可以create role and create db )

  3. create role name with login password 'string'

  4. alter role name password string

2. 创建Group

(这里我们创建group:test, 以及两个role: dev1, dev2)

  1. create role user_group

  2. create role dev1 with login

  3. create role dev2 with login

  4. grant test to dev1 (向test添加成员)

  5. grant test to dev2

    lmy=# \du                                   List of roles Role name |                         Attributes                         | Member of -----------+------------------------------------------------------------+----------- dev1      |                                                            | {test} dev2      |                                                            | {test} lmy       | Superuser, Create role, Create DB, Replication, Bypass RLS | {} test      | Cannot login                                               | {}
  6. revoke test from dev2 (从test移出成员)

    lmy=# revoke test from dev2;REVOKE ROLElmy=# \du                                   List of roles Role name |                         Attributes                         | Member of -----------+------------------------------------------------------------+----------- dev1      |                                                            | {test} dev2      |                                                            | {} lmy       | Superuser, Create role, Create DB, Replication, Bypass RLS | {} test      | Cannot login
  7. Group 的设计就是为了方便权限的管理, 所以成员可以继承group的一些权限

    属性: superuser createdb createrole login password 是不会被继承的

    1. grant all on schema.table to role

    2. grant all on all tables in schema schema to role

    3. revoke all on schema.table to role

    4. revoke all on all tables in schema schema to role

Database 管理
  1. Pg的database 默认是任意可以login 的role 都可以access, 若要进行限制

    REVOKE connect ON DATABASE database FROM PUBLIC;

转载地址:http://lxvta.baihongyu.com/

你可能感兴趣的文章
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
sql注入之order by猜列数问题
查看>>
将域用户加入本地power user组的脚本
查看>>
python range()内建函数
查看>>
Git 远程分支的pull与push
查看>>
React源码学习——ReactClass
查看>>
电脑爱好者GHOSTWIN764位V4.0
查看>>
MYSQL——常用运算符和函数
查看>>
JS获取上传文件的大小
查看>>
Lync Server 2010迁移至Lync Server 2013故障排错Part1:缺少McsStandalone.msi
查看>>
域控制器建立教程
查看>>
RHCE 学习笔记(20) ACL
查看>>
Django 和 Ajax 简介
查看>>
Qt的一个颜色选取按钮QColorButton
查看>>
perl 散列数组
查看>>
puppet之service管理
查看>>