PostgreSQL-2-用户权限管理
1、创建与删除用户
CREATE ROLE rolename; 方法1,创建角色
CREATE USER username; 方法2,创建用户
CREATE USER指令创建的用户默认是有登录权限的,而CREATE ROLE没有
DROP ROLE rolename;
DROP USER username;
删除用户/角色
\du
\du username
查看用户和用户的属性
\du CREATE ROLE;
\du CREATE USER;
查看可设置的管理权限(查看属性和成员属于)
SUPERUSER | NOSUPERUSER → 超级用户,只有超级用户可以创建超级用户
CREATEDB | NOCREATEDB → 创建出来的用户是否有执行 CREATE DATABASE 的权限
CREATEROLE | NOCREATEROLE → 创建出来的用户是否有创建其他角色的权限
LOGIN | NOLOGIN → 创建出来的用户是否有Login的权限
INHERIT | NOINHERIT → 如果创建的一个用户拥有某一个或某几个角色,若指定INHERIT,则表示该用户自动拥有相应角色的权限
CONNECTION LIMIT connlimit → 该用户可以使用的并发连接数量,默认值为-1,表示没有限制
CREATE ROLE role_name WITH optional_permissions;
在创建用户时设定登录权限,比如:
CREATE ROLE r1 WITH SUPERUSER;
CREATE USER u1 WITH PASSWORD 'abc';
2、修改用户权限
ALTER ROLE username WITH attribute_options;
修改权限的命令格式,比如:
ALTER ROLE r1 WITH CREATEDB;
ALTER ROLE u1 WITH PASSWORD 'aaa';
3、切换用户
\c - username; 现有database,切换用户
\c database username; 切换database,并且切换用户
提示:You are now connected to database "..." as user "...".
这里u1没有CREATEDB权限,如果输入CREATE DATABASE test1,会提示permission denied
4、设置用户权限
CREATE TABLE room(no int, name text, age int);
INSERT INTO room VALUES(1, '小明', 19);
INSERT INTO room VALUES(2, '小红', 18);
INSERT INTO room VALUES(3, '老王', 35);
SELECT * FROM room;
创建一个表格,查看数据
GRANT permission_type ON table_name TO role_name;
给用户设置权限语法格式
GRANT UPDATE ON room TO u1; 给u1对于room表格,赋予UPDATE权限
GRANT ALL ON room TO u1; 给u1对于room表格,赋予所有权限
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO u1; 给u1对于postgres数据库所有表格,赋予SELECT权限
REVOKE permission_type ON table_name FROM user_name;
给用户撤销访问权限
REVOKE SELECT ON room FROM u1; 撤销u1对room表格 SELECT的权限
PostgreSQL-2-用户权限管理的更多相关文章
- PostgreSQL学习之【用户权限管理】说明
背景 最近在学习PostgreSQL,看了用户权限管理文档,涉及到的知识点比较多,顺便写篇文章进行整理并不定时更新,也方便自己后续进行查阅. 说明 注意:创建好用户(角色)之后需要连接的话,还需要修改 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- django 基于proxy实现用户权限管理
项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...
- RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- Oracle 用户权限管理方法
Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...
- Oracle SQL 基本操作之 用户权限管理方法
Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...
- 如何对MongoDB 3.2.7进行用户权限管理配置
转自:https://www.jianshu.com/p/a4e94bb8a052 上次写了一篇在CentOS7上源码安装MongoDB 3.2.7,完成了MongoDB 3.2.7的安装,但需要应用 ...
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- linux 用户管理,用户权限管理,用户组管理
linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...
随机推荐
- [数据挖掘课程笔记]人工神经网络(ANN)
人工神经网络(Artificial Neural Networks)顾名思义,是模仿人大脑神经元结构的模型.上图是一个有隐含层的人工神经网络模型.X = (x1,x2,..,xm)是ANN的输入,也就 ...
- TCP/IP-ICMP-Ping-Traceroute
TCP/IP-ICMP 作者:Danbo 2015-8-22 I C M P经常被认为是I P层的一个组成部分.它传递差错报文以及其他需要注意的信息.I C M P报文通常被I P层或更高层协议( T ...
- HDU 5969 最大的位或 —— 贪心 + 二进制的理解
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5969 最大的位或 Time Limit: 2000/1000 MS (Java/Others) ...
- Jquery form表单提交
起因 由于项目中原先提交from是通过JavaScript指定action,在submit提交的,使用的方式,也不是很标准,造成除了ie之外的浏览器都不能正常的提交数据,做web项目还是要考虑到浏览器 ...
- 为什要使用预编译SQL?
今天在研发部技术大牛的指点下,我终于明白了为什么要使用SQL预编译的形式执行数据库JDBC:
- 51nod1934:受限制的排列 (分治+组合数)
对于一个 11 到 nn 的排列 p1,p2,⋯,pnp1,p2,⋯,pn ,我们可以轻松地对于任意的 1≤i≤n1≤i≤n 计算出 (li,ri)(li,ri) ,使得对于任意的 1≤L ...
- python 复制文件流程
例子代码: [root@master script]# vim copy_file.py #!/usr/bin/python # -*- coding:utf-8 -*- old_file_name ...
- BZOJ_2801_[Poi2012]Minimalist Security_dfs树+特判+乱搞
BZOJ_2801_[Poi2012]Minimalist Security_dfs树+特判+乱搞 Description 给出一个N个顶点.M条边的无向图,边(u,v)有权值w(u,v),顶点i也有 ...
- 「LuoguP1379」 八数码难题(迭代加深
[P1379]八数码难题 - 洛谷 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种 ...
- RAutomation 在 Watir中的使用
RAutomation的用法 require "rautomation" # 通过匹配部分标题来获取窗口 window = RAutomation::Window.new(:tit ...