PostgreSQLinitdb报错:先是:initdb:invalidlocalenam。。。

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PostgreSQLinitdb报错:先是:initdb:invalidlocalenam。

在安装PostgreSQL时, initdb报错:
先是:initdb: invalid locale name "zh_CN.UTF-8"
然后是: initdb: invalid locale settings; check LANG and LC_* environment variables
背景:
服务器系统为CentOS8,⽬前客户环境中只有en_US.UTF-8字符集。

问题记录:
⼀、报错:initdb: invalid locale name "zh_CN.UTF-8"
1)原因是在initdb时指定了编码为字符集为zn_CN.UTF-8,⽽系统没有这个编码导致的。

2)修改为:
initdb xxxx -E UTF-8
不指定具体的编码集,默认就使⽤了本地的en_US.UTF-8编码,初始化成功。

⼆、报错:initdb: invalid locale settings; check LANG and LC_* environment variables
但是客户要求⽤zh_CN.UTF-8编码,就需要重新初始化:
1)修改系统编码:
vim /etc/locale.conf
LANG=zh_CN.utf8
source /etc/locale.conf
2)查看系统编码:
env
LANG改过来了
3)再次初始化,此时报错:
initdb: invalid locale settings; check LANG and LC_* environment variables
4)查看系统是包含zh_CN.UTF-8字符集:
locale -a|grep zh
--发现没有
locale
除了LANG是zh_CN.UTF-8,其他都是en_US.UTF-8
5)安装中⽂字符集
yum install glibc-common
yum install -y langpacks-zh_CN
source /etc/locale.conf
locale -a|grep zh
--有中⽂字符集了
6)查看字符集
locale
都是中⽂的了
7)重新初始数据库⽬录,成功,数据库编码为zh_CN.UTF-8
三、en_US.UTF-8 和 zh_CN.UTF-8 字符集区别:
en_US.UTF-8 和 zh_CN.UTF-8 包含的字符数量是基本上⼀样的,⼤概是七万个汉字,编码都是 UTF-8 编码,字符集是 Unicode,版本是4.1 吧?zh_CN.GB18030 和 zh_CN.GBK 的字符集都与 Unicode 3 是等价的,记得应该是这样
语⾔环境的差别就是另⼀回事了,中国⼈和外国⼈表⽰时间啦,数字啦,习惯都不⼀样,所以必须区分开。

⼤部分程序根据语⾔环境变量来选择界⾯的语⾔是中⽂还是英⽂。

所以⼀般linux系统的语⾔环境设置成:export LANG=zh_CN.UTF-8,代表中国⼈使⽤的unicode字符集。

相关文档
最新文档