KingbaseES特殊权限介绍
用户需求:新建一个用户B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限。
对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢?
查询了帮助文档发现通过alter default privileges命令可以实现。
命令描述
ALTER DEFAULT PRIVILEGES允许你设置将被应用于未来要创建的对象的特权(它不会影响分配给已经存在的对象的特权)。
*语法
ALTER DEFAULT PRIVILEGES
[ FOR { ROLE | USER } target_role [, ...] ]
[ IN SCHEMA schema_name [, ...] ]
abbreviated_grant_or_revoke
- 测试
test=# \c test user1
您现在已经连接到数据库 "test",用户 "user1".
test=> create table t_user1 (id int);
CREATE TABLE
test=> insert into t_user1 values (2);
INSERT 0 1
test=> \c test system
您现在已经连接到数据库 "test",用户 "system".
test=# create role user2 with login;
CREATE ROLE
test=# alter role user2 with password '123456';
ALTER ROLE
test=# create schema user2 authorization user2;
CREATE SCHEMA
test=> GRANT USAGE ON SCHEMA user1 to user2;
GRANT
test=> ALTER DEFAULT PRIVILEGES IN SCHEMA user1 GRANT SELECT ON TABLES TO user2;
ALTER DEFAULT PRIVILEGES
test=> \c test user1
您现在已经连接到数据库 "test",用户 "user1".
test=> create table t2_user1 (id int);
CREATE TABLE
test=> insert into t2_user1 values (3);
INSERT 0 1
test=> \c test user2
您现在已经连接到数据库 "test",用户 "user2".
test=> select * from user1.t2_user1; --可以查询授权后新建的表
id
3
(1 行记录)
test=> select * from user1.t_user1; --对旧的对象权限没有影响
错误: 对表 t_user1 权限不够
KingbaseES特殊权限介绍的更多相关文章
- 关于android 1.6全部的权限介绍
原文:关于android 1.6全部的权限介绍 我们在 AndroidManifest.xml里需要对一些软件需要的操作做一些权限的声明,比如我们的软件有发送短信的功能,那么就需要在 AndroidM ...
- Android 6.0及以上版本号的执行时权限介绍
执行时权限(Runtime Permission)是Android 6.0( 代号为 Marshmallow,API版本号为 23)及以上版本号新增的功能.相比于以往版本号,这是一个较大变化. 本文将 ...
- Hive权限介绍
一.开启权限 眼下hive支持简单的权限管理,默认情况下是不开启.这样全部的用户都具有同样的权限.同一时候也是超级管理员.也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原 ...
- mysql 之权限介绍
转自:http://tech.it168.com/a2010/0114/837/000000837456_all.shtml 一.MySQL授权表概述首先从全局开始,如果全局的是允许的,即在 user ...
- Linux编程 16 文件权限(组管理 groupadd, groupmod,文件权限介绍)
一.用户组 前面章节知道用户账户在控制单个用户安全性方面很好,但涉及到共享资源或把用户类型分组时,组概念就出来了. 组权限允许多个用户对系统中的对象(比如文件,目录,设备等)共享一组共用的权限. 在c ...
- KingbaseES 全文检索功能介绍
KingbaseES 内置的缺省的分词解析器采用空格分词,因为中文的词语之间没有空格分割,所以这种方法并不适用于中文.要支持中文的全文检索需要额外的中文分词插件:zhparser and sys_ji ...
- KingbaseES DBLink 扩展介绍
DBLink 扩展插件功能与 Kingbase_FDW 类似,用于远程访问KingbaseES 数据库.相比于Kingbase_FDW,DBLink 功能更强大,可以执行DML,还可以通过 begin ...
- MySQL的用户和权限介绍
一.关于MySQL权限的几点常识: 1.MySQL的权限系统主要用来验证用户的操作权限. 2.在MySQL内部,权限信息存放在MySQL数据库的granttable里.当mysql启动后,grantt ...
- linux系统的权限介绍
让我们用t o u c h命令创建一个文件:$ touch myfile现在对该目录使用ls -l命令: 我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件.你将会 ...
- chmod chown llinux文件及目录的权限介绍
linux 文件或目录的读.写.执行权限说明: chmod :设置文件或目录权限. u:所有者 g:所在组 o:其他组 a:所有人(u.g.o的总和) chmod -R 文件1/文件2….. ...
随机推荐
- 用于解析FBNeo游戏数据的Python3脚本
FBNeo在代码中存储了游戏的元数据, 其数据格式为 struct BurnDriver BurnDrvCpsStriderua = { "striderua", "st ...
- UTF-8 的理解
举个简单的例子: Unicode 只是一个业界标准,具体一个字符占多少字节,取决于编码方式,包括 UTF-8 UTF-16 GB2312 等 "汉" 在 UTF-8 中占到 3 个 ...
- android 逆向笔记
壳检测工具 GDA 2. 逆向分析APP 一般流程 1. 使用自动化检测工具检测APP是否加壳,或者借助一些反编译工具依靠经验判断是否加壳 2. 如果apk加壳,则需要先对apk进行脱壳 3. 使用` ...
- Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试
前言 之前特定的mysql版本msvc版本已经调通了,但是为了更好的跨平台,所以选择用mingw32版本,于是需要编译mysql驱动的mingw32版本的驱动库,以便提供给qt连接mysql使用. ...
- django中model聚合使用
from django.db.models.functions import Cast, Coalesce, Concat, ConcatPair, Greatest # Cast,类型转换 q1 = ...
- 【Java复健指南13】OOP高级04【告一段落】-四大内部类
四大内部类 一个类的内部又完整的嵌套了另一个类结构. class Outer{ //外部类 class lnner{ //内部类 } } class Other{//外部其他类 } 被嵌套的类称为内部 ...
- 【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
问题描述 跟随官方文档,快速创建Azure批处理任务(快速入门:在 Azure 门户中运行第一个 Batch 作业),在添加作业时,选择"自定义模式",并添加文档中所提供的简单命令 ...
- set中的erase使用的一个错误
如果在遍历set的时候去erase很容易出事 事故代码: multiset<int>a; for(auto it=a.begin();it!=a.end();it++){ a.erase( ...
- git 取消代理无效?试试这个
git 取消代理的命令操作 git conifg --global --unset http.proxy git conifg --global --unset https.proxy 一般情况下这种 ...
- SSK:超级键盘模拟器,调用底层,可模拟所有按键
SSK - 吵架键盘模拟器 SuperSimulator of Keyboard 调用系统底层,能够模拟所有键盘操作! 本程序结合快Key(QuicKeys智能登录助手)一起使用,能够创造更多奇迹! ...