大家在安装PG的时候,可能会忽略LC_COLLATE,LC_CTYPE参数设置,这里说明一下这两个参数的设置是在初始化数据库的时候设置的,初始化后是无法更改的,所以还是要注意一下。如果你本地系统设置的语言环境就是你想要的,那么这里可以不加该参数,如果不是你需要的,那么这里可以指定为你需要的语言环境设置
其他相类似的参数可以更改,如lc_messages,lc_monetary,lc_numeric等等,具体见以下链接
https://www.postgresql.org/docs/11/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT

也就是执行以下命令的时候设置
initdb --locale=sv_SE --lc-collate=, --lc-ctype=, --lc-messages=LOCALE........
当然在创建数据库的时候也可以指定

hank=> \h create database
Command:     CREATE DATABASE
Description: create a new database
Syntax:
CREATE DATABASE name[ [ WITH ] [ OWNER [=] user_name ][ TEMPLATE [=] template ][ ENCODING [=] encoding ][ LC_COLLATE [=] lc_collate ][ LC_CTYPE [=] lc_ctype ][ TABLESPACE [=] tablespace_name ][ ALLOW_CONNECTIONS [=] allowconn ][ CONNECTION LIMIT [=] connlimit ][ IS_TEMPLATE [=] istemplate ] ]

字符集可以查看官网支持的列表
https://www.postgresql.org/docs/11/multibyte.html
可以看到UTF-8支持所有编码,所以这也是我们建库或者初始化的时候都会选择UTF-8的原因

可以通过以下不同的命令达到修改客户端编码的目的

hank=> show client_encoding ;client_encoding
-----------------UTF8
(1 row)hank=> \encoding EUC_CN
hank=> show client_encoding ;client_encoding
-----------------EUC_CN
(1 row)hank=> set client_encoding to 'EUC_KR';
SET
hank=> show client_encoding ;client_encoding
-----------------EUC_KR
(1 row)hank=> SET NAMES 'EUC_TW';
SET
hank=> show client_encoding ;client_encoding
-----------------EUC_TW
(1 row)

可以通过以下命令获取到支持字符集的LC_COLLATE, LC_CTYPE信息

hank=> select pg_encoding_to_char(collencoding) as encoding,collname,collcollate,collctype from pg_collation ;

由于篇幅原因,可以在实际环境查看,这里不会列出以上select语句的结果。

进入数据库通过\l或者在系统执行psql -l可以看到现有数据库的相关设置

可以查看系统的语言环境列表,如:

数据库参数说明
LC_COLLATE 字符串排序的顺序
LC_CTYPE 字符分类
LC_MESSAGES 消息的语言
LC_MONETARY 货币使用的格式
LC_NUMERIC 数字使用的格式
LC_TIME 时间日期使用的格式

当然也可以混合使用,如以下表示,语言环境设置为法语加拿大语,但使用美国规则格式化货币:
initdb --locale=fr_CA --lc-monetary=en_US

如果您想要系统的行为是没有语言环境支持,请使用特殊的语言环境名称C,等效于POSIX。

locale设置会影响的SQL特性

  • 在查询中使用的order by或者文本数据的比较操作
  • upper,lower,initcap函数
  • 模式匹配运算,如like,similar to和POSIX-style的正则表达式, locales会通过字符类正则表达式影响不区分大小写的匹配和字符的分类
  • to_char系列的函数
  • 使用索引的like子句

影响文本比较的示例见官网:
https://www.postgresql.org/docs/11/collation.html

Postgresql本地语言环境参数设置(LC_COLLATE,LC_CTYPE)相关推荐

  1. oracle选择语言设置,oracle本地语言变量设置

    select userenv('language') from dual 察看当前会话的语言环境变量设置: SQL> select userenv('language') from dual; ...

  2. Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)

    1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...

  3. python语言包含的错误_Python语言环境错误:不支持的语言环境设置

    Python语言环境错误:不支持的语言环境设置 为什么在python中执行此操作时会出现以下错误: >>> import locale >>> print str( ...

  4. Python语言环境错误:不支持的语言环境设置

    本文翻译自:Python locale error: unsupported locale setting Why do I get the following error when doing th ...

  5. linux设置r语言环境,R语言 环境设置

    尝试在线环境 你真的不需要设置自己的环境来开始学习R编程语言. 原因很简单,我们已经在线设置了R编程环境,以便您可以在进行理论工作的同时在线编译和执行所有可用的示例. 这给你对你正在阅读的信心,并用不 ...

  6. 语言环境设置命令locale 命令(linux,对应于window 7(win叫什么命令?)控制面板-区域和语言里的设置)

    Locale 目录 [隐藏] 1关于locale的设定,为什么要设定locale 1.1关于locale的设定 1.2一.为什么要设定locale 1.3二.到底什么是locale? 1.4三.什么是 ...

  7. linux语言环境设置

    Linux系统的语言环境设置之浅见 在Linux的系统中经常碰到字符集导致的错误,下面总结了设置修改系统语言环境的方法. 1.环境变量LANG用于设置系统的语言环境. 当启动某些perl.php或其他 ...

  8. C语言/C++编程学习:C语言环境设置

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  9. vue 后台翻译_vue国际化 自动百度翻译,优先本地语言库

    本文链接: git地址: 本次说明用vue-cli 3 来做示范. 安装: npm install jj_language --save 在main.js import language from ' ...

  10. css 不同语言下设置不同的字体

    不同语言下设置不同的字体 .f-bold {font-weight: 600; }.f-medium {font-weight: 500; }.f-regular {font-weight: 400; ...

最新文章

  1. 探索Flutter_Image显示Webp逻辑
  2. workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析
  3. HADOOP学习笔记(一):HDFS
  4. spring cloud连载第一篇之bootstrap context
  5. C++primer 第 3 章 字符串、向量和数组 3 . 5 数组
  6. Python开发基础-day1
  7. 轨道病害视觉检测:背景、方法与趋势
  8. input子系统分析二
  9. nginx main error_page
  10. python数据结构与算法13_python3数据结构与算法
  11. 在PS中读取敏感数据
  12. VS2010详细安装步骤
  13. 【无标题】 2022淘宝天猫双十一喵果总动员玩法攻略
  14. html全屏显示两个显示器,google-chrome – 跨多个显示器的Windows / Chrome / ATI /浏览器全屏...
  15. 开发谷歌浏览器插件会上瘾,搞了一个JSONViewer,一个页面格式化多条JSON,提升工作效率...
  16. Mac中Xcode如何更改编辑器文本字体大小
  17. JS修改标签的css样式
  18. 计算机技术在数控系统的应用,计算机技术在数控系统中的应用
  19. solidworks曲面工具栏如何添加
  20. php 人民币格式化,php人民币格式化,php分割字符串

热门文章

  1. Ansys 2021中英文切换、背景切换
  2. dw移动图片位置,dw的移动的图片代码
  3. 一些与一对一视频聊天软件开发有关的事,也许你该了解的
  4. 编译报错:/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32S against `.rodata‘
  5. 监控软件Zabbix安装使用
  6. 上海计算机应用基础自考上机,2012年上海自考《计算机应用基础》上机考核大纲...
  7. 上海计算机应用基础自考上机,上海市自学考试公共实践课程《计算机应用基础(实践)》上机考核大纲_自考资讯自考_自考报名_中国教育在线...
  8. matlab产生大气湍流,一种大气湍流模拟装置的制造方法
  9. 使用python打开多台IMAGINGSOURCE工业相机
  10. Java实现观察者模式