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 ...
随机推荐
- eclipse项目右击找不到build path
右击项目–>properties–>Project Facets–>勾选右侧的Java,然后保存. 此时再操作就有了.
- Python之猜数字游戏
说明: 本例改编自<Python编程快速上手>.例子很简单我就不多说了 直接上代码,给初学python练手用. 给你6次机会猜对一个预先生成好的1-20之间的整数.覆盖一下知识点: 条件语 ...
- 如何基于three.js(webgl)引擎架构,实现3D密集架库房,3D档案室(3d机器人取档、机器人盘点、人工查档、设备巡检)
前言: 这是最好的时代,也是最坏的时代:是充满挑战的时代,也是充满机遇的时代.是科技飞速的时代,也是无限可能的时代. 近年来,人工智能(AI)技术的飞速发展已经席卷了全球,不断突破着技术边界,为各行 ...
- (微服务)服务治理:熔断器介绍以及hystrix-go的使用
一.什么是熔断器 要理解熔断器,可以先看看电路中使用的保险丝. 保险丝(fuse)也被称为电流保险丝,IEC127 标准将它定义为"熔断体(fuse-link)".保险丝是一种保证 ...
- 2021-10-11 vue的第三方组件二次封装
原理 v-bind="$attrs"继承所有属性和props. v-on="$listeners"继承所有的方法. <template> <d ...
- go语言range语句中的值的坑
在range语句中生成的数据的值是真实集合元素的副本,它们不是原有元素的引用.这意味着更新这些值将不会 修改原来的数据,同时也意味着使用这些值的地址将不会得到原有数据的指针. package main ...
- Simulink模型指标分析与模型重构的最佳实践 - 软件模型质量保证不可忽视的一环
在基于模型的开发中,优质的模型架构是生成优质代码的必要前提.静态模型分析对于模型的质量保证有着至关重要的作用,同时建模规范已在业内有着广泛而成熟的应用.然而建模规范并非模型设计原则合规性的唯一考量标准 ...
- Android内存优化—内存优化总结
内存优化总结 内存问题 内存抖动:导致GC导致卡顿 内存泄漏:导致频繁GC,可用内存减少 内存溢出:导致OOM 工具排查 AS中的Profiler查看内存情况,是否锯齿状,是否持续上升 MAT排查 L ...
- Centos系统下,各种服务重启
1.sudo systemctl start firewalld 2../redis-server /usr/local/bin/redis.conf 3.mongod -f /etc/mongod ...
- Java 关于变量的赋值
1 /** 2 * 3 * @Description 4 * @author Bytezero·zhenglei! Email:420498246@qq.com 5 * @version 6 * @d ...