3

必须在自制框架内迁移 postgresql 集群(按照此处的说明), https://gist.github.com/cjolly/2870054 迁移失败

pg_upgrade -d /usr/local/var/postgres-9.0.4/ -D /usr/local/var/postgres -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar /postgresql/9.2.4/bin

有错误

lc_ctype 集群值不匹配:旧的“UTF-8”,新的“C”

知道如何克服这个问题吗?

或者,我愿意继续使用 9.0.4 版本,除了我愚蠢地删除了原始的 Cellar 目录,让自制软件进行清理(我可以确认它是有效且危险的)并且没有任何该版本的配方适用的。我确实有 tarball 并设法安装它,但它不在自制软件下,以后担心会更麻烦。

我已将 tarball 生成的 /usr/local/pgsql/ 移动到 /usr/local/Cellar/postgresql/

这里有什么错误的步骤吗?

4

2 回答 2

3

通过在初始化新数据库时直接指定 --lc-ctype 解决了这个问题:

initdb /usr/local/var/postgres9.4 -E utf8 --lc-ctype=UTF-8
于 2015-02-24T11:07:01.533 回答
0

跑步LC_CTYPE = C通常是一个非常糟糕的主意。如果您使用的是SQL_ASCII伪编码,那就更是如此。

如果新数据目录中没有数据,我建议删除它并initdb使用合理的区域设置和字符集选项重新设置。

于 2013-06-09T02:05:27.710 回答