安装之前我正在检查语言环境:
$ locale
LANG=en_US.UTF-8
LANGUAGE=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=en_US.UTF-8
之后正常安装
sudo apt-get install postgresql postgresql-contrib
在安装日志中:
Creating new cluster 9.3/main ...
config /etc/postgresql/9.3/main
data /var/lib/postgresql/9.3/main
locale C
port 5432
这给了我以 SQL_ASCII 编码创建的 template0 和 template1,我知道我可以使用 --locale 再次删除 cluster 和 initdb,但只要我使用 chef 配方来初始化 VM,这对我来说就不是一个选项。
答案1
我刚刚发现我没有 /etc/default/locale,所以运行
update-locale LANG=en_US.UTF-8
现在安装正确了