当前位置: 首页 > news >正文

postgresql locale区域设置理解

点击查看代码
一、LOCALE由三部分提供:
1、builtin ##postgresql软件内部提供
2、icu ##第三方提供(默认提供,./configure --without-icu将不可用)
3、libc ##操作系统提供(不同操作系统有所差异,例如叫glibc)二、默认使用操作系统的设置
LC_ALL >> LC_COLLATE >> LANG >> C (从左到右优先)三、initdb时指定locale
initdb -E UTF8 --locale=C --lc-collate=zh_CN.UTF8 --lc-ctype=zh_CN.UTF8 (--lc-collate和--lc-ctype优先级高于--locale)
initdb --locale-provider={builtin|libc|icu} --builtin-locale=LOCALE
initdb --locale-provider={builtin|libc|icu} --icu-locale=LOCALE四、建议LOCALE使用C.UTF-8(非C会导致性能损失和功能缺失)
PostgreSQL中使用非C或非POSIX LOCALE的最大负面影响是:
特定排序规则对涉及字符串大小比较的操作有巨大的性能影响,同时它还会导致无法在LIKE查询子句中使用普通索引。
参考:https://pigsty.cc/blog/admin/collate/五、总结
对性能要求不高的场景建议将Collate和Ctype都设置为zh_CN.UTF8,其它区域设置为C。
initdb -E UTF8 --locale=C --lc-collate=zh_CN.UTF8 --lc-ctype=zh_CN.UTF8 ... 
对性能要求较高的场景建议将Ctype设置为zh_CN.UTF8,其它区域设置为C。如果有部分查询需要按拼音排序,可在列定义和SQL表达式中指定Collate为zh_CN。
initdb -E UTF8 --locale=C --lc-ctype=zh_CN.UTF8 ... 
http://www.jsqmd.com/news/33246/

相关文章:

  • CentOS7.9升级gcc
  • 关于模拟赛记录
  • 2025年电动阀门优质制造商推荐排行榜,电动阀门哪家好?
  • 20232423 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • raft 读请求源码走读
  • 2025年铱星模块生产商新推荐排行榜,专业铱星模块厂家权威测评
  • 跨平台的文件夹映射cifs
  • 2025年工业冷水机品牌供应商/加工厂/批量定制新推荐排行榜白皮书
  • 2025 年护眼食品品牌最新推荐榜单权威发布:聚焦老字号传承与新品牌实力,附选购指南
  • 详细介绍:【MongoDB的RLE压缩数据存储】
  • 模拟赛日志
  • 2025年工作服定制哪家工艺精湛?专业工作服定制生产厂推荐
  • 20251106noip模拟赛
  • 2025年安全检测检验公司排行榜:十大权威机构深度解析
  • 算法社Python基础入门面试题库(新手版含答案) - 指南
  • 2025年安全检测检验公司推荐榜前十名:专业洞察与选择指南
  • 开发管理
  • 错题+trick 集
  • WebStorm 解决无法正确识别Vue3组合式API的问题
  • 激活函数之Tanh
  • 深入解析:一键把本地项目推到 GitHub:通用脚本 + 小白友好指南
  • 2025年凝胶糖果代加工厂推荐,山东佰诺生物科技公司
  • Java的多态和重载
  • 2025 年分离机源头厂家最新推荐排行榜:聚焦国内优质品牌,助力企业精准选型碟片式分离机/离心分离机/全自动分离机公司推荐
  • TXC-38.4
  • ICPC 模板
  • 维修厂家推荐排行榜单2025:权威评测
  • 市面上有实力的维修厂家排名:2025年最新榜单
  • 2025年度隔热膜、防爆膜、木纹膜、磨砂膜公司综合实力榜:技术创新与市场应用深度解析(安徽龙葵智能化建筑遮阳工程有限公司)
  • 国标GB28181算法算力平台EasyGBS助力智慧医院打造全方位视频监控联网服务体系