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

我有一些我需要连接的旧数据库(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二进制文件.

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

我今天遇到了这个问题.除了我的错误是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服务.

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...