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 参数设置优先级别的更多相关文章

  1. hive学习05 参数设置

    001参数设置 hive执行命令的本质是mapreduce,当然也可以作为关系型数据库进行查询 --设置一个job有多少个reducer处理,依据多少的是文件的大小,默认1G set hive.exe ...

  2. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  3. jqGrid的autoencode参数设置为true在客户端可能引发的编码问题

    不久前使用jqGrid+MVC做过一段时间开发. 一开始,分页参数几乎都是默认值,jqGrid的分页功能很好用. 考虑到each input is evil,我们的系统对安全性又有较高要求,所以,为了 ...

  4. Hibernate 参数设置一览表

    Hibernate 参数设置一览表 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 fu ...

  5. 使用MEF实现通用参数设置

    通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...

  6. MySQL Database on Azure 参数设置

    在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...

  7. SSRS报表参数设置

    一.日期时间类型的参数注意事项: 关于数据类型的选择:(只有数据类型设置为日期/时间格式,在查询的时候才会显示日期控件,提示信息一般改成汉字) 指定默认值:指定开始日期为前10天,

  8. Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置

    本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右 ...

  9. tomcat安装服务和内存参数设置

    第一:安装服务 在dos窗口进入到tomcat的bin目录下,通过如下命令即可将tomcat安装成服务 service.bat install Tomcat2 其中Tomcat2是服务的名称 如果启动 ...

  10. HttpClient_使用httpclient必须知道的参数设置及代码写法、存在的风险

    结论: 如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住.httpclient 4.3.3,目前还有一些bug:还是用4.2.x ...

随机推荐

  1. Stream 总结

    1 前言 Stream 是 Java 8 中为方便操作集合及其元素而定制的接口,它将要处理的元素集合看作一种流,对流中的元素进行过滤.排序.映射.聚合等操作.使用 Stream API,就好像使用 S ...

  2. maven打包时打包指定的lib文件夹

    今天在打包自己的spring boot项目时遇到了问题, 报找不到类和符号. 因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包. 修改pom.xml, 添加一下内容: <b ...

  3. Java集合框架学习(九) TreeMap详解

    TreeMap介绍 TreeMap 类实现了Map接口,和HashMap类类似. TreeMap是一个基于Red-Black tree的可导航map的实现. 它基于key的自然顺序排序. TreeMa ...

  4. macOS搭建SonarQube

    目录 前言 准备环境 下载安装包 解压路径:/usr/local 创建数据库 修改配置文件 配置环境变量 启动SonarQube 扫描项目 项目报告介绍 总结 前言 初到新公司,接手8-10个java ...

  5. KVM整理

    管理命令: virsh list --all 查看所有虚拟机状态 virsh start vm1 VM1开机 virsh shutdown vm1 VM1关机 virsh destroy vm1 强制 ...

  6. 冲击900亿美元估值!邀约路演、秘密交表的Shein上市有望

    双十一的狂欢刚刚结束,Shein即将赴美上市的消息又在电商圈里投下一枚重磅炸弹. 继被媒体曝光其寻求900亿美金估值后,最新的消息称其已邀请投资人参与路演,且已秘密完成交表.这个神秘的中国独角兽,离敲 ...

  7. 2、hystrix原理

    hystrix熔断机制 1.隔离机制 线程隔离: Hystrix在用户请求和服务之间加入了线程池. Hystrix为每个依赖调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队.加速 ...

  8. Codeforces Round 924 (Div. 2)B. Equalize(思维+双指针)

    目录 题面 链接 题意 题解 代码 题面 链接 B. Equalize 题意 给一个数组\(a\),然后让你给这个数组加上一个排列,求出现最多的次数 题解 赛时没过不应该. 最开始很容易想到要去重,因 ...

  9. Hello 2024C. Grouping Increases(贪心)

    我们只需要记录每个数结尾的数是多少(有点最长上升子序列的味道) 这种子序列的题目很多都是这样的,因为不需要连续很多时候我们只记录最后一个元素是多少. \(记s为较大子序列结尾当前的数,t为较小子序列结 ...

  10. Codeforces Round 651 (Div. 2)C. Number Game(数学思维数论)

    C. Number Game 我们考虑那些状态是必胜态 我的回合时n为奇数(除1外),直接除以n则必胜 下面偶数的情况稍复杂 偶数我们能进行的操作只有除以一个奇数,需要考虑怎么把当前状态变为对手的必败 ...