KingbaseES 服务器运行参数分类

Kingbase 服务器运行参数分类

说明:

KingbaseES 数据库中,服务器运行参数分为多种类型,有些是系统初始化时设置,有些可以在系统运行时设置,有些可以在运行session中进行直接设置。下面将对服务器运行参数进行详细介绍。

一 系统配置参数:

kingbase数据库系统配置参数,可以在$KINGBASE_DATA 目录下的kingbase.conf配置文件中设置。

kingbase进入系统后,可以通过sys_settings视图查看当前数据库的全部配置参数(全部可配置参数,如未在kingbase.conf中设置,显示参数配置默认值)。

test=# \d sys_settings 
           视图 "sys_catalog.sys_settings"
      栏位       |  类型   | 校对规则 | 可空的 | 预设 
-----------------+---------+----------+--------+------
 name            | text    |          |        | 
 setting         | text    |          |        | 
 unit            | text    |          |        | 
 category        | text    |          |        | 
 short_desc      | text    |          |        | 
 extra_desc      | text    |          |        | 
 context         | text    |          |        | 
 vartype         | text    |          |        | 
 source          | text    |          |        | 
 min_val         | text    |          |        | 
 max_val         | text    |          |        | 
 enumvals        | text[]  |          |        | 
 boot_val        | text    |          |        | 
 reset_val       | text    |          |        | 
 sourcefile      | text    |          |        | 
 sourceline      | integer |          |        | 
 pending_restart | boolean |          |        | 

查看具体参数值方式:

1.查询视图
test=# select name ,setting from sys_settings where name = 'database_mode' ;
     name      | setting 
---------------+---------
 database_mode | oracle
(1 行记录)
2.通过show命令查看
test=# show database_mode ;
 database_mode 
---------------
 oracle
(1 行记录)

二 参数设置分类:

Kingbase数据库的配置参数根据分类不同,设置的方式和方法也不一样。可以通过查询sys_settings表查看参数配置分类信息。

test=# select distinct context from sys_settings order by context ;
      context      
-------------------
 backend
 internal
 kingbase
 sighup
 superuser
 superuser-backend
 user
(7 行记录)
三 参数分类说明:

internal:

这些设置不能被直接修改,它们反映了内部决定的值。某些可能在使用不同配置选项重建系统时或者改变initdb的选项时可以调整。

kingbase:

这些设置只能在服务器启动时应用,因此任何修改都需要重启服务器。这些设置的值通常都存储在kingbase.conf文件中,或者在启动服务器时通过命令行传递。当然,具有更低context类型的设置也可以在服务器启动时间被设置。

sighup:

对于这些设置的修改可以在kingbase.conf中完成并且不需要重启服务器。发送一个SIGHUP信号给kingbase会导致它重新读取kingbase.conf并应用修改。Kingbase将会把SIGHUP信号传递给它的孩子进程,这样它们也会获得新的值。

superuser-backend:

对于这些设置的更改可以在kingbase.conf中进行而无需重启服务器。也可以在连接请求包(例如通过libkci 的KINGBASE_OPTIONS环境变量)中为一个特定的会话设定它们,但是只有在连接用户是超级用户时才能这样做。如果,在会话启动后这些设置就不会改变。如果你在kingbase.conf改变了它们, 向 kingbase 发送一个SIGHUP信号让 kingbase 重新读取kingbase.conf。新的值将只会影响后续启动的会话。

backend:

对于这些设置的修改可以在kingbase.conf中完成并且不需要重启服务器。它们也可以在一个连接请求包(例如,通过libkci的KINGBASE_OPTIONS环境变量)中为一个特定会话设置,任何用户都可以为这个会话做这种修改。然而,这些设置在会话启动后永不变化。如果你在kingbase.conf中修改它们,可以向kingbase发送一个SIGHUP信号让它重读kingbase.conf。新值只会影响后续启动的会话。

superuser:

这些设置可以从kingbase.conf设置,或者在会话中用SET命令设置。仅当没有通过SET设置会话本地值时,kingbase.conf中的改变才会影响现有的会话。

user:

这些设置可以从kingbase.conf设置,或者在会话中用SET命令设置。任何用户都被允许修改它们的会话本地值。仅当没有通过SET设置会话本地值时,kingbase.conf中的改变才会影响现有的会话。

四 配置示例:

internal类型系统参数

这些设置不能被直接修改,它们反映了内部决定的值。
例如:enable_ci 大小写敏感设置,只能通过initdb在初始化数据库时设置,设置后不能再进行修改。

./initdb -Usystem -D ../data --enable_ci
kingbase类型系统参数

只能在服务器启动时应用,因此任何修改都需要重启服务器。
例如: archive_mode 归档模式只能通过重启数据库方式进行修改。

sighup类型系统参数

可以配置kingbase.conf完成后,不需要重启数据库,通过重新加载配置的方式生效。

test=# show max_wal_size ;
 max_wal_size 
--------------
 1GB
(1 行记录)

test=# select sys_reload_conf() ;
 sys_reload_conf 
-----------------
 t
(1 行记录)

test=#  show max_wal_size ;
 max_wal_size 
--------------
 512MB
(1 行记录)
superuser类型系统参数

session级参数,可以直接在会话中设置生效,但只能超级用户可以设置。

user类型系统参数

session级参数,可以直接在会话中设置生效。

test=# show work_mem ;
 work_mem 
----------
 4MB
(1 行记录)

test=# set work_mem = 10240 ;
SET
test=# show work_mem ;
 work_mem 
----------
 10MB
(1 行记录)
superuser-backend类型系统参数

只会对后续的登录session起作用,但只能超级用户可以设置。

backend类型系统参数

只会对后续的登录session起作用。

1.kingbase.conf中设置参数值。
ignore_system_indexes = on
2.重更新加载配置
[kingbase@node128 bin]$ ./sys_ctl -D ../data reload
server signaled
3.查看配置生效
test=# show ignore_system_indexes ;
 ignore_system_indexes 
-----------------------
 off
(1 行记录)

test=# \q
[kingbase@node128 bin]$ ./ksql -Usystem -dtest
ksql: 警告:  using index "pg_toast_2618_index" despite IgnoreSystemIndexes
ksql (V8.0)
输入 "help" 来获取帮助信息.

test=# show ignore_system_indexes ;
 ignore_system_indexes 
-----------------------
 on
(1 行记录)
posted @ 2023-03-02 15:46  KINGBASE研究院  阅读(120)  评论(0编辑  收藏  举报