数据库服务器配置
如何查看参数
数据库共有多少个参数?
通过数据字典sys_settings视图可以统计当前数据库所有支持的参数。

查看当前会话的参数值
查看全部参数
方法一:使用show all
方法二:使用sys_settings

查看具体参数
方法1——使用”show 参数名”。

方法2——使用sys_settings视图

如何修改参数
编辑kingbase.conf全局修改参数
通过修改kingbase.conf文件,修改参数值,然后重新加载(reload)或者重启(restart)。
使用ALTER SYSTEM全局修改参数
查看shared_buffers参数当前的值(显示默认值128MB)

使用ALTER SYSTEM修改shared_buffers参数为1024MB

再次查看shared_buffers参数当前的值(还是显示默认的128MB)

其实这个时候修改的参数值已经写入/KingbaseES/V8/data/kingbase.auto.conf文件中(ALTER SYSTEM命令会将修改的值存入到这个文件中)如果被这个命令搞得一团糟,只需删除这个文件, kingbase.auto.conf配置文件要比kingbase.conf优先级要高。
需要重启金仓数据库

sys_ctl restart -D /KingbaseES/V8/data
再次查看发现已经修改成功

ALTER SYSTEM其他语法格式

使用set命令在会话级修改参数
在当前会话中查看work_mem参数的值(显示为默认值4MB)。

使用set来修改当前会话work_mem参数为8MB。

在当前会话中再次查看work_mem参数的值

退出当前会话再次查看(又恢复默认值)

使用set命令在事务级修改参数
使用set命令时添加local关键字,修改的参数只在当前事务内有效。
查看work_mem参数的值(显示默认值4MB)。

显示开启事务并设置work_mem为8MB。
查看work_mem参数的值(显示为修改后的值8MB)

提交事务

再次查看work_mem参数的值(显示为默认值4MB)

使用reset恢复参数到默认值
1.在会话中修改work_mem参数为8MB

2.查看sys_settings字典的reset_val值(reset_val表示参数reset后的默认值)。

3.查看work_mem参数的值。

4.使用reset 恢复参数默认值。

5.在当前会话中查看work_mem参数值

6.使用reset all 恢复所有参数的默认值。

设置参数限制在局部范围内生效
1.为特定的数据库里的所有的用户设置参数
例:为test数据库所有的连接设置work_mem为16MB

2.为数据库中的某个特定用户设置参数
例:为system用户,设置work_mem为32MB

3.为某个特定用户连接到特定的数据库设置
例:为用户system在数据库test中设置work_mem为8M

注意:
1.优先级递增,如果都设置了,以第三个为准。
2.只有当开始一个新的数据库会话时,用ALTER DATABASE和ALTER ROLE设置的值才会被应用。它们会覆盖从配置文件或服务器命令行获得的值,并且作为该会话后续的默认值。
4.查看当前生效的参数值的设置方式
查看你当前的参数值是从何处指定,可以通过查询sys_settings视图的source字段获取。
(1)如果设置了database级别的参数,那么查询结果参考如下:

- 如果设置了user01角色在test数据库级别的参数,那么查询结果参考如下:

通过sys_settings视图的pending_restart判断
查看shared_buffers参数当前值

修改shared_buffers参数

加载参数

查询sys_settings视图的pending_restart列判断是否要重启

注意:pending_restart=t意味着此参数修改后要重启实例才能生效。










