PG数据库中用户权限
每当在数据库中创建一个对象,所有者可以分配它访问权限。所有者通常是执行创建语句的用户。对于大多数类型的对象,初始状态是,只有所有者(或超级用户)可以修改或删除对象。为了让其他角色或用户使用它,特权或权限必须是理所当然。
为了给用户分配权限,使用 GRANT 命令。
1、授权语法
GRANT命令的基本语法如下:
GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
privilege 可能的值有: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object: 名称对象授予访问权限。可能的对象是:表,视图,序列
PUBLIC A 缩写形式,代表所有用户。
GROUP group: 组授予权限。
username: 授予权限的用户的名称. PUBLIC 是一个简短的形式,代表所有用户。
实例
要了解权限,让我们先创建一个USER如下:
testdb=# CREATE USER manisha WITH PASSWORD 'password';
CREATE ROLE
消息CREATE ROLE表明USER“manisha”创建。
考虑表COMPANY 有如下记录:
testdb# select * from COMPANY;
id | name | age | address | salary
----+-------+-----+-----------+--------
| Paul | | California|
| Allen | | Texas |
| Teddy | | Norway |
| Mark | | Rich-Mond |
| David | | Texas |
| Kim | | South-Hall|
| James | | Houston |
( rows)
接下来,让我们的所有权限授予用户“manisha”如下:
testdb=# GRANT ALL ON COMPANY TO manisha;
GRANT
GRANT消息表明,所有的权限被分配给USER。
2、权限可以使用 REVOKE 命令撤销
REVOKE命令的基本语法如下:
REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }
privilege 可能的值有: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object: 名称对象授予访问权限。可能的对象是:表,视图,序列
PUBLIC 简短形式,代表所有用户.
GROUP group: 组授予权限。
username: 授予权限的用户的名称. PUBLIC是一个简短的形式,代表所有用户。
接下来,让我们撤销权限,从USER中的“MANISHA”如下:
testdb=# REVOKE ALL ON COMPANY FROM manisha;
REVOKE
REVOKE消息表明,所有的权限被撤销的USER。
甚至可以删除用户如下:
testdb=# DROP USER manisha;
DROP ROLE
消息DROP ROLE表示用户MANISHA是从数据库中删除。
PG数据库中用户权限的更多相关文章
- Django中用户权限模块
Django中用户权限模块 1 auth模块 auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. auth可以和admin模块配合使用, 快速建立网站的管理系 ...
- 涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...
- Spring Security教程(二):通过数据库获得用户权限信息
上一篇博客中,Spring Security教程(一):初识Spring Security,我把用户信息和权限信息放到了xml文件中,这是为了演示如何使用最小的配置就可以使用Spring Securi ...
- 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064),及查找SQL Server数据库中用户spid(非SQL Server系统spid)的方法
今天公司SQL Server数据库无意间变为SINGLE_USER模式了,而且使用如下语句切换回MULTI_USER失败: ALTER DATABASE [MyDB] SET MULTI_USER W ...
- 数据库中File权限的危害
The FILE privilege gives you permission to read and write files on the server host using the LOAD DA ...
- mongodb3.0副本集搭建补充~~非admin数据库的用户权限
之前有搭建mongodb3.0的副本集,不过当时直接使用的admin数据库,用户也是直接给的root. 链接:http://blog.csdn.net/tuzongxun/article/detail ...
- MySQL 数据库赋予用户权限操作表
MySQL清空数据库的操作:truncate table tablename; MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数 ...
- MySQL 数据库中用户表中口令登陆设置
工具:MyEclipse8.5.apache-tomcat-6.0.43.MySQL5.6 问题:项目是同事发给我,正常运行之后,使用MySQL表里的管理员数据登陆时,提示“仅限于非总部工号登录!” ...
- Docker容器中用户权限管理
在Linux系统中有一部分知识非常重要,就是关于权限的管理控制:Linux系统的权限管理是由uid和gid负责,Linux系统会检查创建进程的uid和gid,以确定它是否有足够的权限修改文件,而非是通 ...
随机推荐
- Spring(转载一)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 简述linux操作系统启动流程
Linux启动流程 POST-->BootSequence(BIOS)->Bootloader(MBR,grub)-->kernnel(ramdisk,initrd)-->ro ...
- creator rotationY的问题
最近在做一个2D的小游戏,碰撞方面由于懒,就直接使用cocos自带的物理组件RigidBody了. 但是在父节点挂载RigidBody之后,会导致设置rotationY时失效,具体原因没有深查,估计是 ...
- Deloyment Descriptor web.xml
Deployment Descriptor部署描述符: - 部署描述符是要部署到Web容器或EJB容器的Web应用程序或EJB应用程序的配置文件. - 部署描述符应包含EJB应用程序中所有企业bean ...
- Golang之接口
- 解决Tomcat的IllegalArgumentException: Control character in cookie value or attribute错误
接口中带有中文,tomcat8 17-Apr-2019 13:21:23.734 严重 [http-nio-8082-exec-2] org.apache.coyote.http11.Abstract ...
- 【java】内部类
内部类:将一个类定义在另一个类里.对里面的那个类就是内部类. 访问特点: 1.内部类可以直接访问外部类的成员,包括私有.之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部的引用,格式 外部 ...
- elasticsearch -- Logstash实现mysql同步数据到elasticsearch
配置 安装插件由于这里是从mysql同步数据到elasticsearch,所以需要安装jdbc的入插件和elasticsearch的出插件:logstash-input-jdbc.logstash-o ...
- VSS2005源代码管理启用http方式
一直在使用vss管理源代码,在服务器上使用文件共享当方式.最近安全形式升级,禁止使用文件共享,因此要升级到http方式. 按照网上的教程,一路前行. 1.登录服务器桌面,打开vss administr ...
- 2018秋寒假作业6—PTA编程总结3
1.实验代码 7-1 抓老鼠啊~亏了还是赚了? (20 分) 某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T) ...