postgresql initdb出了什么问题?为什么`UTF-8`编码没有得到强制执行?
·
问题:postgresql initdb出了什么问题?为什么UTF-8
编码没有得到强制执行?
我正在使用 PostgreSQL 9.1。尝试默认强制执行 UTF8 编码。
这就是我正在做的事情。
service postgresql initdb -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype=locale='en_US.UTF-8';
虽然初始化过程没有任何问题,
psql
提示符处的\l
提供了详细信息。
List of databases
Name | Owner |Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | LATIN1 | en_US | en_US|
为什么UTF-8
编码没有得到强制执行?
解答
看起来您正在通过操作系统的运行级别脚本调用 initdb。此脚本可能不会传递参数。您最好尝试直接执行 initdb,您需要以 root 身份开始执行以下步骤,并假设数据库的操作系统用户帐户是 postgres。
mkdir <your data dir>
chown postgres <your data dir>
su postgres
initdb --pgdata=<your data dir> -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8'
更多推荐
所有评论(0)