选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 客户端连接默认值

CONFIGURATION PARAMETER客户端连接默认值 / 区域和格式化

icu_validation_level

设置报告无效 ICU 区域设置字符串所用的消息级别。

Log level for reporting invalid ICU locale strings.

枚举 会话 引入 16 现存至 20 devel 0 次默认值变更

类型
枚举enum
上下文
会话任何用户都可在会话内用 SET 修改
默认值
warning
枚举值
disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
引入版本
16
状态
现存

PostgreSQL 18 手册 官方文档 引入提交 1671f990dd

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

warning 16 – 20

默认值自 PostgreSQL 16 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.11 客户端连接默认值 本站手册 官方原文

控制在遇到 ICU 区域设置验证问题时使用何种消息严重级别报告该问题。 有效值包括DISABLEDDEBUG5DEBUG4DEBUG3DEBUG2DEBUG1INFONOTICEWARNINGERRORLOG

如果设置为DISABLED,则不会报告任何验证问题;否则,将以给定的消息级别报告问题。默认值为WARNING

机制详解

icu_validation_level:设置报告无效 ICU 区域设置字符串所用的消息级别。该参数改变无效 ICU 区域标识符的报告方式,既可关闭报告,也可提升为错误。

icu_validation_level 属于 USER 上下文。获授权角色可在会话内修改,ALTER ROLE 或 ALTER DATABASE 可为未来会话建立默认值。

它改变客户端边界上的表示、解析或区域行为,而不是物理存储。应与其他区域和格式参数,以及驱动的二进制或类型化协议协同考虑。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    保持 icu_validation_level 为 WARNING,让无效区域标识可见;只有迁移门禁已清理既有输入时才提升为 ERROR。

  • OLAP分析与批处理

    分析对象创建采用同一验证策略;降低级别可能让不一致区域元数据扩散到可复现作业。

  • 小规格低配实例与开发机

    不要为容量而调节;除非受控兼容问题需要临时降低报告级别,否则保持 WARNING。

常见问题

  • 只在一个会话中修改 icu_validation_level,却认为角色默认值、数据库默认值或其他池化会话也已随之改变。
  • 误以为显示参数会改变已存储值或服务器端类型语义。
  • 未测试文本解析客户端、导出与池化会话就修改角色或数据库默认值。
  • 没有回滚计划及客户端或运维兼容测试,就全局修改 icu_validation_level。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 16 ← 15 新增此参数

    PostgreSQL 16 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
16 warning 会话 枚举 disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
17 warning 会话 枚举 disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
18 warning 会话 枚举 disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
19 warning 会话 枚举 disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error
20 沿用 warning 会话 枚举 disabled, debug5, debug4, debug3, debug2, debug1, log, notice, warning, error

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Client Connection Defaults 客户端连接默认值 12 个
区域和格式化 12
client_encoding 字符串 会话 SQL_ASCII
设置客户端字符集编码。 现存
DateStyle 字符串 会话 ISO, MDY
设置日期和时间值的显示格式。 现存
default_text_search_config 字符串 会话 pg_catalog.simple
设置默认的文本搜索配置。 现存
extra_float_digits 整数 会话 1 121 次
设置浮点值文本输出所使用的数字位数。 现存
icu_validation_level 枚举 会话 warning
设置报告无效 ICU 区域设置字符串所用的消息级别。 现存
IntervalStyle 枚举 会话 postgres
设置 interval 值的显示格式。 现存
lc_messages 字符串 会话(超级用户) 空字符串
设置显示消息所使用的语言。 现存
lc_monetary 字符串 会话 C
设置格式化货币金额所使用的区域设置。 现存
lc_numeric 字符串 会话 C
设置格式化数字所使用的区域设置。 现存
lc_time 字符串 会话 C
设置格式化日期和时间所使用的区域设置。 现存
TimeZone 字符串 会话 GMT 9.22 次
设置用于显示和解释时间戳的时区。 现存
timezone_abbreviations 字符串 会话 未设置 9.11 次
选择时区缩写定义文件。 现存