云计算百科
云计算领域专业知识百科平台

HGDBv9版本pg模式配置nls_length_semantics产生警告日志

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

系统平台:N/A 版本:9.0.4

症状

在HGDB V9版本,PG模式初始化的实例中,当显式配置参数nls_length_semantics时,例如

nls_length_semantics = 'char'

nls_length_semantics = 'byte'

都会产生如下警告:

2026-04-21 00:14:54.708 CST,"highgo","xxxxx",1397122,"172.21.1xx.1xx:55190",69e650f3.155182,19,"SELECT",2026-04-21 00:14:43 CST,20/4878604,0,警告,0A000,"Do not use this GUC variable in the current cluster (PG).",,,,,"while setting parameter ""nls_length_semantics"" to ""char""(或byte)

该警告日志会强制随相关SQL打印到数据库日志中,业务繁忙时会占用大量日志存储空间。

问题原因

nls_length_semantics 是 HGDB V9 版本专为 Oracle 兼容模式 设计的字符长度语义参数:

  • byte:按字节计算长度
  • char:按字符个数计算长度

PostgreSQL 兼容模式原生支持按字符个数计算长度,不支持该参数,且参数配置后不生效。

PG 模式下显式配置该参数,数据库会强制打印不兼容警告。

警告示例: Do not use this GUC variable in the current cluster (PG)

解决方案

所有操作使用highgo数据库用户执行,无需重启数据库,reload 即可生效。

方案:SQL 命令修复(推荐,无需修改配置文件):

— 恢复参数为默认值(取消配置)
alter system set nls_length_semantics to default;
— 重载配置生效
select pg_reload_conf();

集群架构下,需要检查并取消所有节点的此参数配置。

赞(0)
未经允许不得转载:网硕互联帮助中心 » HGDBv9版本pg模式配置nls_length_semantics产生警告日志
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!