KingbaseES 参数设置优先级别
Oracle的参数可以设置system和session级别,当设置了session级别的参数时,会覆盖值system级别。
KingbaseES除了该两个级别外,还有database级别、user/role级别、user/role+database组合级别。
下面针对这几个级别的参数优先级问题,进行测试验证,测试以参数 idle_in_transaction_session_timeout 为例子。
查询默认配置
[kingbase@singlekbdb data]$ grep idle_in_transaction_session_timeout kingbase.conf
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
system用户登录数据库查询,可以看到参数值的来源是default,未修改继承默认系统设置。
test1=# select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+---------
idle_in_transaction_session_timeout | 0 | user | default
测试一:设置user级别参数,测试对比user级别和system级别的优先级。
test1=# alter user u1 set idle_in_transaction_session_timeout=10;
ALTER ROLE
test1=# \c - u1
您现在已经连接到数据库 "test1",用户 "u1".
test1=> select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+--------
idle_in_transaction_session_timeout | 10 | user | user
(1 行记录)
登录u1用户,看到参数值已变更为10,参数值来源是是user级别,所以user级别的优先于system级别。
测试二、设置database级别参数
对比database和system级别、database和user级别的参数优先级。
test1=# alter database test1 set idle_in_transaction_session_timeout = 20;
ALTER DATABASE
test1=# \c -
您现在已经连接到数据库 "test1",用户 "system".
test1=# select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+----------
idle_in_transaction_session_timeout | 20 | user | database
test1=# \c - u1
您现在已经连接到数据库 "test1",用户 "u1".
test1=> select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+--------
idle_in_transaction_session_timeout | 10 | user | user
(1 行记录)
修改配置后system会话的值已变更为20,参数来源是database。 u1用户的会话还是保持之前的设置不变。
所以,database级别优先于system级别,而user级别优先于database级别。
测试三、设置user+database级别参数
test1=> \c - system
您现在已经连接到数据库 "test1",用户 "system".
test1=# alter user u1 in database test1 set idle_in_transaction_session_timeout=30;
ALTER ROLE
test1=# \c - u1
您现在已经连接到数据库 "test1",用户 "u1".
test1=> select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+---------------
idle_in_transaction_session_timeout | 30 | user | database user
(1 行记录)
用户u1登录test1的会话,参数idle_in_transaction_session_timeout使用了user+database组合级别的参数值:30。
所以,user+database组合级别优先于user级别。
test1=> set idle_in_transaction_session_timeout=40;
SET
test1=> select name,setting,context,source from sys_settings where name ='idle_in_transaction_session_timeout';
name | setting | context | source
-------------------------------------+---------+---------+---------
idle_in_transaction_session_timeout | 40 | user | session
(1 行记录)
直接set session级别参数值,覆盖前面的所有级别。
总结
KingbaseES 参数级别的优先顺序为:
1.默认情况下,session会继承system级别参数值;
2.在设置了database级别参数的情况下,database级别的参数值优先于system级别;
3.在设置了user/role级别参数的情况下,user级别的参数值优先于database级别;
4.在设置了user+database级别参数的情况下,该组合级别的参数值优先于user级别;
5.在当前session给会话直接set parameter=value的情况下,该参数值最优先。
KingbaseES 参数设置优先级别的更多相关文章
- hive学习05 参数设置
001参数设置 hive执行命令的本质是mapreduce,当然也可以作为关系型数据库进行查询 --设置一个job有多少个reducer处理,依据多少的是文件的大小,默认1G set hive.exe ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
- jqGrid的autoencode参数设置为true在客户端可能引发的编码问题
不久前使用jqGrid+MVC做过一段时间开发. 一开始,分页参数几乎都是默认值,jqGrid的分页功能很好用. 考虑到each input is evil,我们的系统对安全性又有较高要求,所以,为了 ...
- Hibernate 参数设置一览表
Hibernate 参数设置一览表 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 fu ...
- 使用MEF实现通用参数设置
通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...
- MySQL Database on Azure 参数设置
在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...
- SSRS报表参数设置
一.日期时间类型的参数注意事项: 关于数据类型的选择:(只有数据类型设置为日期/时间格式,在查询的时候才会显示日期控件,提示信息一般改成汉字) 指定默认值:指定开始日期为前10天,
- Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置
本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右 ...
- tomcat安装服务和内存参数设置
第一:安装服务 在dos窗口进入到tomcat的bin目录下,通过如下命令即可将tomcat安装成服务 service.bat install Tomcat2 其中Tomcat2是服务的名称 如果启动 ...
- HttpClient_使用httpclient必须知道的参数设置及代码写法、存在的风险
结论: 如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住.httpclient 4.3.3,目前还有一些bug:还是用4.2.x ...
随机推荐
- 【Unity3D】人物跟随鼠标位置
1 游戏对象 2D动画和人体模型及动画中介绍了 Aniamtion.Animator.人体模型.人体骨骼.人体动画等基础知识,本文将通过 "人物跟随鼠标位置" 案例加强对 Un ...
- python3发送需要双向认证的wss请求
python3发送需要双向认证的wss请求 websocket链接python有很多封装好的库:websocket-client.websockets.aiowebsocket 这里用的websoke ...
- webrtc 的理解
常规视频的传输包括以下几个步骤:采集,编码,推流,转码,分发,拉流,解码和渲染 在一个实时的音视频系统架构里,上面的每个环节都会有一定程度的优化空间. 以下内容摘自:rtmp直播和webrtc直播对比 ...
- Qt三方库开发技术(一):QuaZIP介绍、编译和使用
前言 Qt使用一些压缩解压功能,探讨过libzip库,zlib库,libzip库比较原始,还有其他库,都比较基础,而在基础库之上,又有高级封装库,Qt中的QuaZIP是一个很好的选择. 本文主要 ...
- channel管道
channel 如果说goroutine是并发体的话,那么channels则是他们之间的通信机制.一个channel是一个通信机制,它可以让一个goroutine通过它给另一个goroutine发生值 ...
- 【LeetCode二叉树#01】二叉树的遍历(递归/迭代)
二叉树递归遍历 写递归算法时候需要遵循的三个点: 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函 ...
- 【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions
问题描述 在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions 问题解答 对于无法使用 VS Code 部署 Function App 到 Azu ...
- Educational Codeforces Round 145 (Rated for Div. 2)C. Sum on Subarrays(构造)
很意思的一道构造题 题意:给一个\(n.k\),让构造长度为n的数组满足,子数组为整数的个数为k个,负数的为\(k-(n+1)* n/2\),每个数的范围为\([-1000,1000]\) 这种构造题 ...
- java.lang.Long cannot be cast to java.util.Map-Oracle查询异常处理
Map<String, Object> map一.问题由来 测试环境中进行测试时,某一个接口频繁报一个错,java.lang.Long cannot be cast to java.uti ...
- yarn install --offline 离线安装 回头试试 npm install ./package.tgz
yarn install --offline npm pack npm install ./package.tgz 尝试了 npm-pack-all --dev-deps 也不行,太慢,等了20分钟 ...