引言:
人大金仓作为国产数据库的佼佼者(单机),也是每位数据库从业者必须数据库之一
配置文件
kingbase 参数配置 主要由 kingbase.conf 和 kingbase.auto.conf 设置
kingbase.conf
该参数文件为主配置文件,一般情况下,需要 重启数据库后生效的参数 需要修改该文件。文件路径在 数据库数据目录下
kingbase.auto.conf
该参数为辅助参数文件,修改 全局生效的参数参数 或者 通过 ALTER SYSTEM命令修改 需要重启数据库后生效的参数 信息会记录到该文件中,优先级比 kingbase.conf 高,文件路径在 数据库数据目录下
判断重启参数
方式一
通过查看配置文件 kingbase.conf 中参数后面的注释判断
图中 port 与 max_connections 参数后面出现 change requires restart 提示 ,说明该参数修改后需要重启
方式二
通过查看 参数视图 sys_settings 中的 context 字段 来判断。该视图记录所有参数的信息
查看
图中 allow_system_table_mods 参数的 content 值为 kingbase ,说明该参数修改完需要重启数据库才能生效
修改重启参数
以内存缓冲区 shared_buffers 为例,默认为 128M 目前配置文件修改为256M
查看修改是否生效
[kingbase@localhost data]$ ksql test system 用户 system 的口令: 输入 "help" 来获取帮助信息. test=# test=# test=# test=# show shared_buffers; shared_buffers ---------------- 128MB (1 行记录) test=# test=#
查看到未生效
重启数据库
[kingbase@localhost data]$ sys_ctl -D /opt/Kingbase/ES/V8/data/ restart 等待服务器进程关闭 .... 完成 服务器进程已经关闭 等待服务器进程启动 ....2024-03-14 20:51:00.799 CST [9230] 日志: sepapower扩展初始化完成 2024-03-14 20:51:00.858 CST [9230] 日志: 正在启动 KingbaseES V008R006C008B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit 2024-03-14 20:51:00.858 CST [9230] 日志: 正在监听IPv4地址"0.0.0.0",端口 54321 2024-03-14 20:51:00.858 CST [9230] 日志: 正在监听IPv6地址"::",端口 54321 2024-03-14 20:51:00.860 CST [9230] 日志: 在Unix套接字 "/tmp/.s.KINGBASE.54321"上侦听 2024-03-14 20:51:00.897 CST [9230] 日志: 日志输出重定向到日志收集进程 2024-03-14 20:51:00.897 CST [9230] 提示: 后续的日志输出将出现在目录 "sys_log"中. 完成 服务器进程已经启动 [kingbase@localhost data]$
查看参数
[kingbase@localhost data]$ ksql test system 用户 system 的口令: 输入 "help" 来获取帮助信息. test=# test=# show shared_buffers; shared_buffers ---------------- 256MB (1 行记录)
修改成功
修改普通参数(不需要重启)
方式一
work_mem 参数默认值为 4M
test=# show work_mem; work_mem ---------- 4MB (1 行记录) test=# test=#
使用 ALTER 命令修改
test=# alter system set work_mem = '12MB'; ---修改 ALTER SYSTEM test=# test=# select sys_reload_conf(); ---重新读取 sys_reload_conf ----------------- t (1 行记录) test=# test=# show work_mem; work_mem ---------- 12MB (1 行记录)
查看 kingbase.auto.conf
[kingbase@localhost data]$ cat kingbase.auto.conf # Do not edit this file manually! # It will be overwritten by the ALTER SYSTEM command. work_mem = '12MB'
可以看到 修改过的参数 已经记录到 辅助参数文件中
方式二
通过修改主配置文件
配置文件中修改为 12M
重新加载,读取文件
[kingbase@localhost data]$ sys_ctl reload 服务器进程发出信号
查看参数值
[kingbase@localhost data]$ ksql test system 用户 system 的口令: 输入 "help" 来获取帮助信息. test=# test=# test=# test=# show work_mem; work_mem ---------- 12MB (1 行记录) test=# exit
修改成功
注意: 使用第二种修改方法,前提需要保证 kingbase.auto.conf 里没有目标参数的值。如果存在,参数值以 kingbase.auto.conf 文件里的为准,需要编辑取消该文件里的值。