人大金仓数据库KES中常用的参数配置方法

关键字:

GUC、配置方法、作用范围

一、GUC参数介绍

GUC(Grand Unify Configuration)是金仓数据库管理系统KingbaseES 的参数管理机制, KES的参数均通由此管理, 故也常常称配置参数为GUC参数。

根据配置条件(配置时机、配置权限等)的不同,GUC 参数可以划分成多种类型,例如系统启动时、内部进程设定、超级用户设定、普通用户设定等。

相同的GUC参数还可以多种方法配置,根据配置方法的不同参数值的作用范围不同,例如会话级别、数据库级别等。

二、常见配置方法

1.1 通过文件配置

通过文件配置是最常见的参数配置方法。例如搭建数据库集群时,我们常常通过修改配置文件kingbase.conf来修改数据库的默认端口。我们在修改端口后,可以重启数据库来应用新的参数配置。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\6d75eb6dad294efb178dcd84b7cd2b70.png

除了需要重启方能生效的配置,一些允许在线修改的参数也能通过配置文件修改,修改后通过sys_ctl 或者sys_relocal_conf函数使之生效。如下图,我们在kingbase.conf中修改了checkpoint_timeout的默认值(5min), 然后通过sys_relocal_conf函数更改了其默认值。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\786f59882c640c0dccc5e784c4ed584f.png

通过配置文件修改的参数作用域为整个数据库系统。我们待函数生效后重新登陆会话,发现查询到的仍为修改后的值。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\786f59882c640c0dccc5e784c4ed584f.png

1.2 通过SQL配置

KES提供了多条SQL配置GUC参数,不同SQL的作用范围不同,用户可以根据需求选择对应的语法。

1.2.1 ALTER SYSTEM

该语句等同于修改配置文件,会修改参数的默认值,在整个系统范围内生效。

1.2.2 ALTER DATABASE/ ALTER ROLE

该语句会修改配置文件的默认值,设置后会在后续登陆的会话中生效。当数据库重启时,该值仍然有效。

我们选择一个可以在线修改的参数commit_delay来测试该语法的作用。首先修改配置文件,修改默认值为10。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\ff90bb365f4923417a2b0a8290020304.png

重启数据库,发现默认值已变更。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\13b64ac46029451249d5f5a2e94733d3.png

通过ALTER DATABASE 语法修改值为50(此时配置文件仍为10),登陆新会话发现该值已变更。且重启后仍然生效。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\e22bb664d97c66656ef33663dcae44a7.png

ALTER ROLE 作用范围类似,此处不展开介绍。

1.2.3 SET

通过SET 语法设置的参数值只能在当前会话中生效,其他会话不会看到此变更,当会话退出时该值失效。

C:\Users\majingwei\AppData\Roaming\Ktalk\localfiles\media\4e9dd414f8d83a35b1a344ffe3d8f437.png

三、总结

1、通过修改配置文件或者ALTER SYSTEM可以修改参数的默认值。

2、ALTER DATABASE和ALTER ROLE可以覆盖配置文件中指定的默认值,而且重启后仍会生效。

3、SET设置的参数仅在当前会话中有效,会话断开则修改失效。

参考文档:

《KingbaseES SQL语言参考手册》

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值