配置运行参数
背景信息
Vastbase E100提供了多种修改参数的方法,用户可以方便的针对数据库、用户、会话进行设置。
- 参数名称不区分大小写。
参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
- 布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。
- 枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。
对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。
- 参数的默认单位在系统表pg_settings的unit字段定义的。
- 内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。
- 时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
参数分类
Vastbase E100提供了六类参数,具体分类和设置方式请参考下表:
参数类型 | 说明 | 设置方式 |
---|---|---|
INTERNAL | 固定参数,在创建数据库的时候确定,用户无法修改,只能通过show语法或者pg_settings视图进行查看。 | 无 |
POSTMASTER | 数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。 | 支持参数设置中的方式一。 |
SIGHUP | 数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。 | 支持参数设置中的方式一、方式二。 |
BACKEND | 会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐用户设置。 | 支持参数设置中的方式一、方式二。 说明:设置该参数后,下一次建立会话连接时生效。 |
SUPERUSER | 数据库管理员参数。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。 | 支持参数设置中的方式一、方式二设置。 |
USER | 普通用户参数。可被任何用户在任何时刻设置。 | 支持参数设置中的方式一、方式二设置。 |
参数设置
Vastbase E100提供了两种方式来修改参数,具体操作请参考下表:
序号 | 说设置方法 |
---|---|
方式一 | 1.编辑参数文件 手工编辑参数文件postgresql.conf 修改参数值,如果没有该参数则手动添加 2.重启数据库使参数生效。 说明:重启vastbase操作会导致用户执行操作中断,请在执行之前规划好合适的执行窗口 vb_ctl stop && vb_ctl srart |
方式二 | 修改指定数据库,用户,会话级别的参数。 - 设置数据库级别的参数,在下次会话中生效。
- 设置用户级别的参数,在下次会话中生效。
- 设置会话级别的参数,修改本次会话中的取值。退出会话后,设置将失效。
|
操作步骤
使用方式一设置数据库参数,以在数据库主节点设置archive_mode参数为例。
步骤 1 以操作系统用户Vastbase E100登录数据库主节点
步骤 2 查看archive_mode参数
cat /vastbase/data/dbnode/postgresql.conf | grep archive_mode
archive_mode = on
#on表示日志要进行归档操作
步骤 3 设置archive_mode参数为off,直接编辑参数文件postgresql.conf,将参数设为off关闭日志的归档操作
archive_mode=off
步骤 4 重启数据库使参数生效
pg_ctl stop && pg_ctl start
步骤 5 检查参数设置的正确性
atlasdb=# SHOW archive_mode;
archive_mode
--------------
off
(1 row)
使用方式二设置参数,以设置client_encoding参数为例。
步骤 1 以操作系统用户Vastbase E100登录数据库主节点
步骤 2 使用如下命令连接数据库。vastbase为需要连接的数据库名称,5432为数据库主节点的端口号
psql -d atlasdb -p 5432
连接成功后,系统显示类似如下信息:
步骤 3 查看client_encoding参数
atlasdb=# SHOW client_encoding;
client_encoding;
-------------------
UTF8
(1 row)
步骤 4 设置client_encoding参数
设置会话级别的参数
atlasdb=# SET client_encoding TO GBK;
当结果显示为如下信息,则表示设置成功,设置成功后可以再次使用SHOW命令确认当前参数值
SET