目录
背景
数据库参数是非常重要的一环,以下是不常见的参数配置,做以下记录。
参数查看与设置
参数查看
javascript
show $参数
查看参数级别的主要方法
执行以下 SQL 语句,可以列出所有参数及其关键信息,其中 context 字段直接反映了参数的级别(生效上下文):
javascript
SELECT name, setting, unit, context, vartype, source, min_val, max_val
FROM pg_settings
ORDER BY context, name;
关键字段说明:
- context :表示参数生效的上下文,即级别。常见取值及含义如下:
- postmaster :实例级别。修改后必须重启数据库才能生效。
- sighup :全局级别。修改后可通过重新加载配置(如执行 SELECT pg_reload_conf(); )生效,无需重启。
- user :会话级别。参数可在单个会话中由用户自行修改,仅影响当前会话。
- vartype :参数类型(如 bool、integer、string 等)。
- source :当前生效值的来源(如配置文件、命令行、会话变量等)。
参数设置
参数级别的常见分类与设置方式
在 Vastbase 中,参数通常不严格区分为"库、模式、表"级别,而是更多关联到实例、会话或用户。其设置方式对应如下:
| 生效范围 | 典型 context 值 | 设置命令示例 | 说明 |
|---|---|---|---|
| 实例级别 | postmaster , sighup | ALTER SYSTEM SET parameter_name = value; |
影响整个数据库实例。 |
| 数据库级别 | 通常为 user ,但可通过 ALTER DATABASE 覆盖 | ALTER DATABASE db_name SET parameter_name = value; |
仅对指定数据库生效。 |
| 用户/角色级别 | user | ALTER ROLE role_name SET parameter_name = value; |
对该用户或角色的所有会话生效。 |
| 会话级别 | user | SET parameter_name TO value; |
仅对当前会话生效。 |
注意:真正意义上的"模式级别"或"表级别"参数在 Vastbase 中非常少见。部分表存储参数(如 fillfactor )可在建表时指定,但这类参数通常不通过 pg_settings 管理。
典型参数介绍
| 参数 | Value | 解释 |
|---|---|---|
| behavior_compat_options | display_leading_zero | behavior_compat_options='display_leading_zero' 是一个数据库兼容性行为配置项,用于控制浮点数在小数点前的"0"是否显示。作用说明:未设置此参数时:对于介于 -1~0 和 0~1 之间的小数,查询结果会省略小数点前的 "0"。例如,数值 0.25 会显示为 .25 。设置此参数后:对于上述范围内的小数,会正常显示小数点前的 "0"。例如, 0.25 会显示为 0.25 |
| / | / | / |
| / | / | / |
| / | / | / |
| / | / | / |
| / | / | / |
| / | / | / |
| / | / | / |
| / | / | / |