暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

KingbaseES的参数设置介绍(一)

原创 鹏程万里 2021-10-13
1803

参数级别介绍

KingbaseES配置参数共包括以下七个级别(由低到高),其中参数属于sighup及其后续级别的可由用户设置:

参数级别

级别说明

internal

仅支持内部使用

kingbase

仅支持启动时设置

sighup

支持修改配置文件后通过SIGHUP信号更新参数

superuser-backend

超级用户的后台级参数

backend

普通用户的后台级参数

superuser

支持超级用户在线修改的参数

user

支持普通用户在线修改的参数

查看参数以与所属级别的命令如下:

kingbase=# SELECT name,context,short_desc FROM sys_settings ORDER BY context,name;

server_version_num                     | internal          | Shows the server version as an integer.

 ssl_library                            | internal          | Name of the SSL library.

 wal_block_size                         | internal          | Shows the block size in the write ahead log.

 wal_segment_size                       | internal          | Shows the size of write ahead log segments.

 allow_system_table_mods                | kingbase        | Allows modifications of the structure of system tables.

 archive_mode                           | kingbase        | Allows archiving of WAL files using archive_command.

 autovacuum_freeze_max_age              | kingbase        | Age at which to autovacuum a table to prevent transaction ID wraparound.

 autovacuum_max_workers                 | kingbase        | Sets the maximum number of simultaneously running autovacuum worker processes.

 autovacuum_multixact_freeze_max_age    | kingbase        | Multixact age at which to autovacuum a table to prevent multixact wraparound.

 bonjour                                | kingbase        | Enables advertising the server via Bonjour.

 bonjour_name                           | kingbase        | Sets the Bonjour service name.

 cluster_name                           | kingbase        | Sets the name of the cluster, which is included in the process title.

 config_file                            | kingbase        | Sets the server's main configuration file.

 data_directory                         | kingbase        | Sets the server's data directory.

 data_sync_retry                        | kingbase        | Whether to continue running after a failure to sync data files.

 dynamic_shared_memory_type             | kingbase        | Selects the dynamic shared memory implementation used.

 event_source                           | kingbase        | Sets the application name used to identify KingbaseES messages in the event log.

 external_pid_file                      | kingbase        | Writes the kingbase PID to the specified file.

 hba_file                               | kingbase        | Sets the server's "hba" configuration file.

 hot_standby                            | kingbase        | Allows connections and queries during recovery.

 huge_pages                             | kingbase        | Use of huge pages on Linux or Windows.

 ident_file                             | kingbase        | Sets the server's "ident" configuration file.

 jit_provider                           | kingbase        | JIT provider to use.

 listen_addresses                       | kingbase        | Sets the host name or IP address(es) to listen to.

--More--

 

参数优先级别

KingbaseES 参数配置的方式可以使用配置文件 、数据库服务启动命令、系统命令等方式进行配置,不同的配置方式具备不同的优先级。

下文将按照优先级(数值越大,优先级别越高)从低到高进行介绍参数的10种设置方式。在线配置参数时,具备权限的用户只支持对"sighup"级别及以后的参数进行设置。

1 配置文件

操作方式:

通过编辑器直接操作配置文件kingbase.conf,实现新增、修改、删除配置参数

 

生效方式:

1) 重启服务生效;

2) 通过调用函数sys_reload_conf()重新加载配置文件的方式。

 

示例:

1)编辑配置文件kingbase.conf,新增如下配置:

work_mem = 6MB

2)在命令行工具ksql下重新加载配置文件,然后查询如下:

kingbase=# show work_mem;

work_mem

----------

 4MB

(1 row)

 

kingbase=# select sys_reload_conf();

 sys_reload_conf

----------------

 t

(1 row)

 

kingbase=# show work_mem;

 work_mem

----------

 6MB

(1 row)

2 ALTER SYSTEM命令

操作方式:

alter system reset all  –-删除kingbase.auto.conf中全部的参数配置

alter system reset …    –-删除kingbase.auto.conf中给定的参数配置

alter system set … = default–-删除kingbase.auto.conf中给定的参数配置

alter system set … = value   –-新增给定的参数配置到kingbase.auto.conf

 

生效方式:

1) 重启服务生效;

2) 通过调用函数sys_reload_conf()重新加载配置文件的方式。

 

示例:

kingbase=# alter system set work_mem = '7MB';

ALTER SYSTEM

kingbase=# select sys_reload_conf();

 sys_reload_conf

----------------

 t

(1 row)

 

kingbase=# show work_mem;

 work_mem

----------

 7MB

(1 row)

 

3 启动数据库服务时指定参数 

操作方式:

sys_ctl start启动数据库服务时应用-o选项指定参数的配置

 

生效方式:

重启服务生效

 

示例:

1)在Linux终端启动服务:sys_ctl start -o "-c work_mem='8MB'"

2)启动成功后,在命令行工具ksql下查询参数如下:

kingbase=# show work_mem;

work_mem

----------

 8MB

(1 row)

4 ALTER ALL ROLE命令

操作方式:

ALTER ROLE ALL SET … = value

 

生效方式:

1) 重启服务生效;

2) 打开新的连接会话时配置参数生效。

 

示例:

1)在命令行工具ksql下执行如下命令:

kingbase=# alter role all set work_mem='9MB';

ALTER ROLE

kingbase=# show work_mem;

 work_mem

----------

 8MB

(1 row)

2)退出ksql当前连接,重新连接后执行查询语句,显示如下:

kingbase=# show work_mem;

 work_mem

----------

 9MB

(1 row)

5 ALTER DATABASE … SET命令

操作方式

ALTER DATABASE db SET … = value

 

生效方式

1) 重启服务生效;

2) 打开新的连接会话时配置参数生效。

 

示例

1)在命令行工具ksql下执行如下命令:

kingbase=# alter database test set work_mem='10MB';

ALTER DATABASE

kingbase=# show work_mem;

 work_mem

----------

 9MB

(1 row)

2)退出ksql当前连接,重新连接后执行查询语句,显示如下:

kingbase=# show work_mem;

 work_mem

----------

 10MB

(1 row)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论