Postgresql 尝试创建三角形索引时,区域设置的多字节字符无效

Postgresql 尝试创建三角形索引时,区域设置的多字节字符无效,postgresql,psql,Postgresql,Psql,我在Windows10中通过PostgresSQL使用数据库。我使用脚本将其导入到自己的计算机(这可能与此无关)。数据的编码是UTF-8 今天,为了提高基于字符串的搜索速度,我尝试使用三角图创建一些索引,但在创建第一个索引时出现了以下错误: CREATE INDEX trgm_idx_release_group_name ON release_group USING gin (name gin_trgm_ops); ERROR: invalid multibyte character for

我在Windows10中通过PostgresSQL使用数据库。我使用脚本将其导入到自己的计算机(这可能与此无关)。数据的编码是UTF-8

今天,为了提高基于字符串的搜索速度,我尝试使用三角图创建一些索引,但在创建第一个索引时出现了以下错误:

CREATE INDEX trgm_idx_release_group_name ON release_group USING gin (name gin_trgm_ops);

ERROR:  invalid multibyte character for locale
HINT:  The server's LC_CTYPE locale is probably incompatible with the
database encoding.
SQL state: 22021
LC_CTYPE为
Spanish_Spania.1252
,这似乎是个问题,因为它不是UTF-8

然后,解决方案是使用与UTF-8兼容的语言环境创建我的DB,但我找不到该语言环境,因为名称与Linux语言环境不同。我尝试从pgAdmin创建数据库,但在区域设置列表中,我只找到
C
POSIX
Spanish\u Spanish.1252
。我尝试用
createdb
创建它,如下所示:

createdb-U帕尔普示例db-l=Spanish\U Spanish

但是得到了与之前相同的区域设置,使用-l参数作为注释。(我用不同的区域设置值和不同的引号尝试了该命令,但得到了相同的结果)

我做错了吗?区域名称是否有误,这就是问题所在


谢谢。

这可能是Windows特定的PostgreSQL错误。是的,可能是这样,但我更愿意认为有一种简单的方法可以解决它,只是我不知道如何解决。我在互联网上四处搜索,没有发现任何东西,你有什么建议吗?一个解决方法是使用编码
WIN1252
创建数据库,但是你在字符选择上受到限制。这可能是Windows特定的PostgreSQL错误。是的,可能是这样,但我更愿意认为有一个简单的方法来解决它,只是我不知道怎么做。我在互联网上四处搜索,没有发现任何东西,你有什么建议吗?一个解决方法是使用编码
WIN1252
创建数据库,但是你在字符选择上受到限制。