使用不同的语言环境连接到postgresql数据库

时间:2015-07-26 11:53:52

标签: postgresql locale windows-10

我有一些我需要连接的旧数据库(postgres 9.1)。用

启动服务器没问题
pg_ctl start -D D:\datadir\pgdata\data -w

但是当我尝试连接时,它会给出:

psql -U postgres -p 15432
psql: FATAL:  database locale is incompatible with operating system
DETAIL:  The database was initialized with LC_COLLATE "Norwegian (Bokmål)_Norway.1252",  which is not recognized by setlocale().
HINT:  Recreate the database with another locale or install the missing locale.

新版本的postgres无法启动服务器(不兼容的数据版本)。 我使用windows 10,使用postgres 9.1二进制文件。

如何连接,迁移,升级此类数据库以访问数据?

1 个答案:

答案 0 :(得分:4)

我今天遇到了这个问题。除了我的错误是针对en_GB:

The database was initialized with LC_COLLATE "en_GB.UTF-8",  which is not recognized by setlocale().

我用

解决了这个问题
localedef -f UTF-8 -i en_GB en_GB.UTF-8

您需要根据语言设置进行更改。

在。

之后重启postgresql服务