管理 撰写
2009/06/09 @ 16:45
得到这个错误:
引用
FATAL:  XX000: failed to initialize lc_messages to ""
LOCATION:  InitializeGUCOptions, guc.c:1867

为了方便看日文的source,把测试服务器的LANG改成了Shift_jis,结果今天就启动不了了,到官方一看,原来还是这个原因,虚惊一场。改回来就ok了。。

相对于哪些安装、编译不用指定编码的数据库来说,这很莫名的一个错误,但是对于postgres来说,就有这么严格,因为在一个数据库目录init的时候,需要根据你的服务器环境来决定数据库的安装字符集(如果没有带--encoding=encoding这个参数的话,如果在执行initdb的时候,加上了--encoding="zh_CN",那么不管你的服务器环境如何,它将以简体中文作为默认的模板编码)。

两种办法:(以下的encoding是你所在地区的编码,如中国大陆是zh-CN,日文就是Shift_JIS或者是EUC-jp等。这取决你初始化数据库的时候的字符编码)

其一、执行 #export LANG="Encodeing"
其二、修改 /etc/sysconfig/i18n 这个文件,把第一行改成是LANG="Encodeing"

执行 #locale -a | grep ^ja   (你的字符集的一部分,如ja,zh等)
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

有支持就ok,收工。。

作者:博爱老头@博爱老头的草屋
地址:http://www.icnote.com/Postgres-failed-to-initialize-lc_messages-solved/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

分类: 数据库 | 评论(0) | 阅读(863)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我