我正在尝试将我的现有数据库导入到运行在Azure PostgreSQL服务器上的实例中。我已经配置了我的Azure PostgreSQL服务器参数,以使用UTF8编码(我不确定它是否在没有重启的情况下应用,但即使我没有重启选项)。我正在尝试使用以下命令执行此操作:
然而,它会出现类似以下的错误信息:
ERROR: could not create locale "en_US.utf8": No error 我深入研究了这个过程,并尝试使用UTF8(而不是UTF-8)和其他选项运行它,但每次都出现相同的错误。
我创建了一个转储文件来检查内容,生成此错误的行是:
sudo -u postgres pg_dump --encoding="UTF-8" --no-owner DBNAME | psql --host=xxx.postgres.database.azure.com --port=5432 --username=xxx@yyy --dbname=DBNAME
然而,它会出现类似以下的错误信息:
ERROR: could not create locale "en_US.utf8": No error 我深入研究了这个过程,并尝试使用UTF8(而不是UTF-8)和其他选项运行它,但每次都出现相同的错误。
我创建了一个转储文件来检查内容,生成此错误的行是:
CREATE COLLATION "en_US.utf8" (lc_collate = 'en_US.utf8', lc_ctype = 'en_US.utf8');
这是导致错误的原因。我尝试在Azure的postgre实例中手动执行它,结果也出现了同样的错误。
顺便说一下,我已经通过使用以下SQL命令从控制台创建了该DATABASE:
create database "DBNAME" with owner=xxx encoding='UTF-8' template template0;
我尝试了其他的创建和导入选项,但都无法正常工作。
有人可以帮助我吗?