我有一些我需要连接的旧数据库(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二进制文件。
如何连接,迁移,升级此类数据库以访问数据?
答案 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服务