KingbaseES 创建只读(read_only)用户
数据库版本:
prod=> select version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
创建用户及指定密码:
test=# CREATE USER u_r WITH ENCRYPTED PASSWORD '123456';
CREATE ROLE
设置用户默认事务只读:
test=# alter user u_r set default_transaction_read_only=on;
ALTER ROLE
test=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
sao | No inheritance | {}
sso | No inheritance | {}
system | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
tom | | {}
u_r | | {}
赋予用户权限,查看public模式下所有表:
test=# GRANT USAGE ON SCHEMA public to u_r;
GRANT
test=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO u_r;
ALTER DEFAULT PRIVILEGES
赋予用户连接数据库权限:
test=# GRANT CONNECT ON DATABASE prod to u_r;
GRANT
切换到指定数据库:
test=# \c prod
You are now connected to database "prod" as user "system".
prod=# \d
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+--------
public | sys_stat_statements | view | system
public | t1 | table | system
public | t2 | table | system
public | t3 | table | system
public | t4 | table | system
public | tmp_t0 | table | system
(6 rows)
赋予用户表、序列查看权限:
prod=# GRANT USAGE ON SCHEMA public to u_r;
GRANT
prod=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO u_r;
GRANT
prod=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO u_r;
GRANT
用户连接数据库测试:
prod=# \c prod u_r
You are now connected to database "prod" as user "u_r".
# 无法创建数据库对象(read_only)
prod=> create table t1 (id int);
ERROR: cannot execute CREATE TABLE in a read-only transaction
prod=> \d
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+--------
public | sys_stat_statements | view | system
public | t1 | table | system
public | t2 | table | system
public | t3 | table | system
public | t4 | table | system
public | tmp_t0 | table | system
(6 rows)
prod=> select * from t1 limit 3;
id | name
----+------
10 | abc
20 | ABC
(2 rows)
# 无法执行DML操作(read_only)
prod=> delete from t1 where id=10;
ERROR: cannot execute DELETE in a read-only transaction

KingbaseES 创建只读(read_only)用户的更多相关文章
- Azure SQL Database (25) Azure SQL Database创建只读用户
<Windows Azure Platform 系列文章目录> 本文将介绍如何在Azure SQL Database创建只读用户. 请先按照笔者之前的文章:Azure SQL Databa ...
- PostgreSQL创建只读权限的用户
1.创建只读角色 CREATE ROLE readaccess; 2.授予对现有表的访问权限 GRANT USAGE ON SCHEMA public TO readaccess; GRANT SEL ...
- 使用ReadOnlyCollection创建只读集合
转载:http://www.cnblogs.com/abatei/archive/2008/02/04/1064102.html 使用泛型创建只读集合 问题 您希望类中的一个集合里的信息可以被外界访问 ...
- kubernetes高级之创建只读文件系统以及只读asp.net core容器
系列目录 使用docker创建只读文件系统 容器化部署对应用的运维带来了极大的方便,同时也带来一些新的安全问题需要考虑.比如黑客入侵到容器内,对容器内的系统级别或者应用级别文件进行修改,会造成难以估量 ...
- PostgreSQL创建只读账户
目前PostgreSQL并不能像MySQL一样直接对某个数据库赋予只读权限,现实中有研发需要新建一个用户然后赋予对某个数据库只读权限. 举例说明如何创建 用edbstore用户连接edbstore数据 ...
- ORACLE权限管理—创建只读账号
创建只读用户:grant connect to user; grant create session to user; 1.创建角色 CREATE ROLE SELECT_ROLE 2.给角色分配权限 ...
- 批量创建10个用户stu01-stu10
1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现. ##方法1: [root@server tmp]# ...
- Linux 创建修改删除用户和组
200 ? "200px" : this.width)!important;} --> 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就 ...
- oracle创建表空间-用户-角色-授权
1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...
随机推荐
- 【Nginx】Windows平台下配置Nginx服务实现负载均衡
前言:废话不多说了,直接上步骤. 系统环境:win10 测试用的开发环境和服务类型:VS2022 + DotNet 6 + WebApi 1.本地先创建一个webapi项目,用于测试使用. 2.新建一 ...
- XSS攻击(笔记)
XSS攻击 XSS概述 XSS即跨站脚本攻击,(Cross-Site Scripting, CSS),但是为了与层叠样式表(Cascading Style Sheets, CSS)缩写区分开来,所以命 ...
- 深入理解 happens-before 原则
在前面的文章中,我们深入了解了 Java 内存模型,知道了 Java 内存模型诞生的意义,以及其要解决的问题.最终我们知道:Java 内存模型就是定义了 8 个基本操作以及 8 个规则,只要遵守这些规 ...
- UiPath Excel修改操作
一.Excel 修改操作 1.删除行 (1)控件介绍 Insert/Delete Rows: 在特定位置添加或删除指定数量的行 常用属性介绍: Destination: NoRows: ...
- GitLab、Jenkins结合构建持续集成(CI)环境
1 持续集成 概述及运行流程 1.1 持续集成概述 持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并迚程自 ...
- 用console画条龙?
相识 console一定是各位前端er最熟悉的小伙伴了,无论是console控制台,还是console对象,做前端做久了,打开一个网页总是莫名自然的顺手打开控制台,有些调皮的网站还会故意在控制台输出一 ...
- 全网求解,用Python处理一个基础题目
昨天在群里看见一个Python的问题,趁着今天有那么一点点时间,就想把这个题目分享出来,让大家一起解决.毕竟三个臭皮匠,赛过诸葛亮.原始数据如下: 1 origin_lst = [0, 0, 1, 2 ...
- mysql实现两个字段合并成一个字段查询
[需求]实现国际化I18N语言切换功能,例如菜单列表.字典等. 主要是个辅助表进行管理语言的配置: 单个字段很简单,直接通过字典配置的数据标签(key)- 表名, 数据键值(value)-表字段名[默 ...
- Cisco Packet Tracer Student(思科网络模拟器)模拟搭建VLAN网络
一.VLAN简介 VLAN指在同一个物理网段内,通过逻辑手段,将其划分出多个虚拟的局域网,每个虚拟局域网都具备和真实局域网一样的功能.VLAN不受物理位置限制,可以灵活划分,同一个VLAN内的主机之间 ...
- Ant Design Vue 走马灯实现单页多张图片轮播
最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕 ...