KingbaseES 服务器运行参数配置

Kingbase 服务器运行参数配置

说明:

KingbaseES 数据库中,服务器运行参数配和需改有多种方式和注意事项,根据不同的分类配置,修改配置方式不同。关于服务器参数分类请参照【Kingbase 服务器运行参数分类】介绍。

系统配置参数修改:

Kingbase中参数名大小写是不敏感的。可以通过以下方式修改设置。

1.系统参数可以直接编辑【kingbase.conf】文件,是设置配置参数的最基本的方式。

可以设置除internal配置类型之外的全部参数类型(kingbase, sighup, user, superuser, backend, superuser-backend)。

2.还可以通过系统命令方式进行配置修改。

ALTER SYSTEM 命令提供了一种改变全局默认值的从SQL可访问的方法,等效于直接编辑kingbase.conf。

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

test=#  alter system set work_mem = 10240;
ALTER SYSTEM
test=# select sys_reload_conf(); 
 sys_reload_conf 
-----------------
 t
(1 行记录)

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

ALTER DATABASE 命令允许针对一个数据库覆盖其全局设置。

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

test=# alter database test set work_mem = 4096 ;  
ALTER DATABASE
test=# show work_mem ;                           
 work_mem 
----------
 1MB
(1 行记录)

test=# \q
[kingbase@node128 ~]$ ksql -Usystem -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.

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

ALTER ROLE 命令允许用用户指定的值来覆盖全局设置和数据库设置。

demo=# show work_mem;
 work_mem 
----------
 10MB
(1 行记录)

demo=# alter role system in database demo set work_mem = 4096;
ALTER ROLE
demo=# show work_mem;
 work_mem 
----------
 10MB
(1 行记录)

demo=# \q
[kingbase@node128 ~]$ ksql -Usystem -ddemo
ksql (V8.0)
输入 "help" 来获取帮助信息.

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

可以设置除internal和kingbase配置类型之外的全部参数类型(sighup, user, superuser, backend, superuser-backend)。

3.通过set命令或者set_config函数方式修改会话本地配置项。

可以设置除internal和kingbase配置类型之外的全部参数类型(sighup, user, superuser, backend, superuser-backend)。

[kingbase@node128 ~]$ ksql -Usystem -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.

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

test=#  set work_mem = 10240;
SET
test=#  show work_mem ;      
work_mem 
----------
10MB
(1 行记录)

test=# select  set_config('work_mem', 20480 ,false);
set_config 
------------
20MB
(1 行记录)

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

系统配置参数查看:

Kingbase提供sys_file_settings表,提供了服务器配置文件内容的概要。

test=# select  * from sys_file_settings where applied = true ; 
               sourcefile                | sourceline | seqno |            name            |      setting      | applied | error 
-----------------------------------------+------------+-------+----------------------------+-------------------+---------+-------
 /home/kingbase/ES/V8/data/kingbase.conf |         59 |     1 | listen_addresses           | *                 | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |         63 |     2 | port                       | 54321             | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |         64 |     3 | max_connections            | 100               | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |         91 |     4 | password_encryption        | scram-sha-256     | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        121 |     5 | shared_buffers             | 128MB             | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        140 |     6 | dynamic_shared_memory_type | posix             | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        224 |     7 | max_wal_size               | 1GB               | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        225 |     8 | min_wal_size               | 80MB              | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        420 |     9 | log_destination            | stderr            | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        426 |    10 | logging_collector          | on                | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        432 |    11 | log_directory              | sys_log           | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        540 |    12 | log_timezone               | Asia/Shanghai     | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        652 |    13 | datestyle                  | iso, ymd          | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        653 |    14 | intervalstyle              | sql_standard      | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        654 |    15 | timezone                   | Asia/Shanghai     | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        668 |    16 | lc_messages                | zh_CN.UTF-8       | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        670 |    17 | lc_monetary                | zh_CN.UTF-8       | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        671 |    18 | lc_numeric                 | zh_CN.UTF-8       | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        672 |    19 | lc_time                    | zh_CN.UTF-8       | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        675 |    20 | default_text_search_config | pg_catalog.simple | t       | 
 /home/kingbase/ES/V8/data/kingbase.conf |        766 |    22 | ora_input_emptystr_isnull  | on                | t       | 

Kingbase提供sys_settings表,提供系统参数配置的全部参数(或者使用 show all命令查看全部参数)。其中包含sys_file_settings表中已经设置的系统参数值,其他配置项为系统默认配置项和默认值。
例如:

test=# select * from sys_settings where name = 'port';
-[ RECORD 1 ]---+----------------------------------------
name            | port
setting         | 54321
unit            | 
category        | 联接和认证 / 联接设置
short_desc      | 设置服务器监听的 TCP 端口号.
extra_desc      | 
context         | kingbase
vartype         | integer
source          | configuration file
min_val         | 1
max_val         | 65535
enumvals        | 
boot_val        | 54321
reset_val       | 54321
sourcefile      | /home/kingbase/ES/V8/data/kingbase.conf
sourceline      | 63
pending_restart | f

Kingbase系统中,可以使用show命令或current_setting函数查看具体参数的当前配置值:

test=# show database_mode ;
 database_mode 
---------------
 oracle
(1 行记录)

test=# select current_setting('database_mode');
 current_setting 
-----------------
 oracle
(1 行记录)

不同模式下参数差异

KingbaseES 在pg模式下,以下参数默认为off状态,且禁止将其打开。

ora_forbid_func_polymorphism 同模式下不能创建同名的函数或存储过程

ora_input_emptystr_isnull 将空字符串转换为null。

ora_numop_style 数字和字符串的操作符兼容oracle关于整数和字符串的操作符。

ora_statement_level_rollback 指定了plsql中是否启用语句级回滚

ora_style_nls_date_format 日期时间的隐式输入与输出字符串格式是否使用参数NLS_DATE_FORMAT、NLS_TIMESTAMP_FORMAT和NLS_TIMESTAMP_TZ_FORMAT的配置。

posted @ 2023-03-02 15:45  KINGBASE研究院  阅读(346)  评论(0编辑  收藏  举报