我正在Windows 10中通过PostgresSQL使用musicbrainz数据库,我使用了these脚本将其导入到我自己的计算机中(这可能是不相关的)。数据的编码为UTF-8。
今天,我尝试使用Trigrams创建一些索引,以提高基于字符串的搜索的速度,并且在创建第一个索引时出现此错误:
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_Spain.1252
,这似乎不是问题,因为它不是UTF-8。
然后的解决方案是使用与UTF-8兼容的语言环境创建我的数据库,但是我找不到该语言环境,因为名称与Linux语言环境不同。我曾尝试从pgAdmin创建数据库,但是在语言环境列表中,我仅找到C
,POSIX
和Spanish_Spain.1252
。我尝试像这样用createdb
创建它:
createdb -U palp example-db -l=Spanish_Spain
,但具有与以前相同的语言环境,并带有-l参数作为注释。 (我尝试使用不同的语言环境值和不同的引号引起该命令,但结果相同)。
我做错了吗?语言环境名称错误,因此就是问题所在吗?
谢谢。