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. 【Unity3D】血条(HP)

    1 需求实现 ​ 人机交互Input 中实现了通过键盘控制坦克运动,通过鼠标控制坦克发射炮弹,本文将在此基础上,增加血条(HP)功能.炮弹命中后,HP 值会减少,因此需要应用到 刚体组件Rigidbo ...

  2. oracle中约束(constraints)是如何影响查询计划的

    原文: http://www.oracle.com/technetwork/issue-archive/2009/09-may/o39asktom-096149.html oracle中约束(cons ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (199)-- 算法导论15.2 1题

    一.用go语言,对矩阵规模序列(5,10,3,12,5,50,6),求矩阵链最优括号化方案. 文心一言,代码正常运行: 在Go语言中,为了找到矩阵链乘法的最优括号化方案,我们通常会使用动态规划(Dyn ...

  4. OpenCV开发笔记(六十一):红胖子8分钟带你深入了解Shi-Tomasi角点检测(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  5. Android 全面屏体验

    一.概述 Android 应用中经常会有一些要求全屏显隐状态栏导航栏的需求.通过全屏沉浸式的处理可以让应用达到更好的显示效果.在 Android 4.1 之前,只能隐藏状态栏, 在 Android4. ...

  6. Ubuntu下docker部署

    使用docker进行容器化集成部署 远程服务器更新源 更新ubuntu的apt源 sudo apt-get update 安装包允许apt通过HTTPS使用仓库 sudo dpkg --configu ...

  7. 【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)

    问题描述 Azure Event Hub 在标准版以上就默认启用的Kafka终结点,所以可以通过Apache Kafka协议连接到Event Hub进行消息的生产和消费.通过示例代码下载到本地运行后, ...

  8. 图查询语言 nGQL 简明教程 vol.01 快速入门

    本文旨在让新手快速了解 nGQL,掌握方向,之后可以脚踩在地上借助文档写出任何心中的 NebulaGraph 图查询. 视频 本教程的视频版在B站这里. 准备工作 在正式开始 nGQL 实操之前,记得 ...

  9. 2024年,提升Windows开发和使用体验实践 - 终端&命令行篇

    前言 经过前面的铺垫,终于继续更新了,这个大概率是本系列近期的最后一篇了. 同时之前有些内容更新,我也补充到这一篇里面. 关于 scoop 管理器的补充 scoop 常用命令 scoop help # ...

  10. FolkMQ 作个简单的消息中间件(最简单的那种), v1.3.1 发布

    功能简介 角色 功能 生产端(或发起端) 发布消息.定时消息(或叫延时).顺序消息.可过期消息.事务消息.发送消息(rpc)支持 Qos0.Qos1 消费端(或接收端) 订阅.取消订阅.消费-ACK( ...