-
区域设置
区域支持是在使用initdb创建一个数据库集簇时自动被初始化的。
initdb --locale=en_US
默认使用操作系统的区域设置,locale命令显示
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
PostgreSQL中,支持以下配置,自定义本地规则,它们都是initdb的参数。
LC_COLLATE 字符串排序顺序
LC_CTYPE 字符分类(什么是一个字符?它的大写形式是否等效?)
LC_MESSAGES 消息使用的语言
LC_MONETARY 货币数量使用的格式
LC_NUMERIC 数字的格式
LC_TIME 日期和时间的格式
数据库一旦确定LC_COLLATE和LC_CTYPE后就不可修改,因为他们涉及到索引生成的规则。其他的几个可以随时修改,所以只有LC_MESSAGES、LC_MONETARY、LC_NUMERIC、LC_TIME在postgresql.conf中是可配置的。
由于LC_COLLATE和排序顺序相关