KingBase服务器参数配置(Kylin)

主配置文件/KingbaseES/V8/data/kingbase.conf

# 可通过find查找 [默认存储在database cluseter目录中]
find / -name kingbase.conf

辅助参数文件kingbase.auto.conf

# 可通过find查找 [默认存储在database cluseter目录中]
find / -name kingbase.auto.conf

查看当前会话的参数值

select * from sys_settings where name="参数"

sys_settings参数

字段 描述
name 运行时配置参数名
setting 参数当前值
unit 参数的隐式单位(8KB 16MB s min kb ms)
category 参数的逻辑分类
short_dec 参数的简短描述
extra_desc 附加参数的详细描述
context 要求设置此参数值的上下文
min_val 参数的最小允许值(仅非数字值有效)
max_val 参数的最大允许值(仅非数字值有效)
enumvals 一个枚举参数的允许值(仅非数字值有效)
reset_val 当前会话中,RESET将会设置的参数值
sourcefile 当前值所在配置文件 在配置文件中使用include指令时有用
sourceline 当前值在配置文件中的行号
pending_restart 参数修改后是否需要重启才能生效(t:重启 f:不需要重启)

kingabase.conf全局修改参数

  1. 编辑kingbase.conf文件,修改相关参数的值
  2. 通过以下方法控制KES重新读取kingbase.conf文件并让参数修改值生效
    • 不需要重启的参数,修改完kingbase后需要执行sys_ctl reload重载
    • 需要重启的参数,在修改完kingbase后需要执行sys_ctl restart重启服务

ALTER SYSTEM全局修改参数

只会删除辅助参数文件中配置,不会删除主配置文件中配置

语法 说明
ALTER SYSTEM SET parameter = value ; 将某参数修改成某值(值为数字不需要引号)
ALTER SYSTEM SET parameter = ‘value’; 将某参数修改成某值(值为非数字需要引号)
ALTER SYSTEM SET parameter T0 DEFAYLT; 还原指定参数到初始值
ALTER SYSTEM SET parameter; 还原指定参数到初始值
ALTER SYSTEM SET ALL; 还原所有参数到初始值

示例

使用ALTER SYSTEM全局修改参数

ksql test system  # 使用system用户登陆test数据库

# 进入数据库对话
show shared_buffers;  # 查看shared_buffers参数值
alter system set shared_buffers='1024MB';  # 修改shared_buffers值
show shared_buffers;  # 再次查看参数值
cat /data/kingbase.auto.conf  # 查看辅助参数文件

在这里插入图片描述

# 查看主配置文件
cat /data/kingbase.conf

会话级别修改参数

# 只在当前会话生效
set work_mem='8MB';  # 在当前会话中修改

KingBase服务器参数配置(Kylin)_第1张图片

事务级别修改参数

begin;  # 开启事务
set local work_mem='8MB';  # 修改
commit;  # 提交事务

KingBase服务器参数配置(Kylin)_第2张图片

限制参数在局部范围生效

以下三种设置参数的方式,优先级分别为低、中、高,优先级递增

为特定数据库的所有用户设置参数

# 为test数据库所有连接设置work_mem为16mb [针对数据库覆盖其全局配置]
ALTER DATABASE test SET work_mem='16MB';

为数据库中的某个特定用户设置参数

# 为system用户设置work_mem为32mb [为用户指定一个值来覆盖全局设置和数据库设置]
ALTER USER system SET work_mem='16MB';

为某个特定用户连接到特定的数据库设置参数

# 为用户system在数据库test中设置work_mem为8mb 
ALTER ROLE user01 IN DATABASE test SET work_mem='8MB';

查看当前生效参数值的设置方式

SELECT source FROM sys_settings WHERE name="work_mem";
  • user:用户级别
  • database:数据库级别
  • database user:数据库级别和用户级别

判断修改参数后需要重启还是重载

查看配置文件中对应参数的备注

grep ~port /data/kingbase.conf
# restart:重启  reload:重载

KingBase服务器参数配置(Kylin)_第3张图片

通过pending_restart字段

SELECT name,pending_restart FROM sys_settings WHERE name='port';
# pending_restart = t  :修改参数后需要重启实例才能生效

通过context字段

SELECT name,context FROM sys_settings WHERE name='port';

KingBase服务器参数配置(Kylin)_第4张图片

主辅参数配置文件区别

文件默认内容不同

  • kingbase.conf文件创建成功之后,里面有kingbase依赖的默认配置文件参数,如最大连接数、共享缓存区等
  • kingbase.conf文件的内容默认为空

文件修改方式不同

  • kingbase.conf中的内容只能使用文本编辑修改
  • kingbase.auto.conf中的内容可以有ALTER SYSTEM命令修改

生效方式

​ 两个文件中的参数都需重启实例或重载参数生效

主配置文件优先级低于辅助参数文件

  • 同一个参数在两个文件中都存在时,最终以kingbase.auto.conf中的设置为准
  • 使用alter system reset设置参数恢复到默认值,kingbase.auto.conf文件中的该参数配置会被删除,重新引用kingbase.conf文件中的参数设置

你可能感兴趣的:(人大金仓,Kylin麒麟,服务器,kylin,数据库,人大金仓,KingBase)