Azure PostgreSQL服务器服务排序规则创建错误

硬编码

我正在尝试将当前的现有数据库导入到Azure PostgreSQL服务器上运行的postgre实例

我已经将我的azure postgresql服务器参数配置为使用编码作为UTF8(我不确定它是否无需重启就可以应用,即使我没有选择重启它的选项)

我正在尝试使用以下命令执行此操作:

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

但是,它得到这样的错误:

错误:无法创建语言环境“ en_US.utf8”:无错误

我潜入这个过程,尝试使用UTF8(而不是UTF-8)和其他选项来运行它,但是每次都会遇到相同的错误。

我创建了一个转储文件来检查内容,并且生成此错误的行是:

CREATE COLLATION "en_US.utf8" (lc_collate = 'en_US.utf8', lc_ctype = 'en_US.utf8');

这是导致该错误的原因。我试图在Azure postgre实例上手动执行它,我也遇到了同样的错误。

顺便说一下,我已经使用以下SQL从控制台创建了该数据库:

create database "DBNAME" with owner=xxx encoding='UTF-8' template template0;

我也尝试了其他选项来创建和导入,但它们都不起作用。

有人能帮我吗?

硬编码

我通过以下命令解决了我的问题:

sudo -u postgres pg_dump -Fp —no-owner DBNAME |sed “/COLLATE/s/en_US.utf8/English_United States.1252/ig”|sed "/CREATE COLLATION/s/en_US.utf8/English_United States.1252/ig"|psql --host=aaa.postgres.database.azure.com --port=5432 --username=xxx@yyy --dbname=DBNAME

问题来自服务器操作系统差异。我当前的PostgreSQL服务器使用Ubuntu,但是Azure PostgreSQL服务器使用Windows,因此排序规则名称略有不同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

azure + postgresql:如何修复错误:无法连接到服务器:服务器意外关闭了连接

创建Azure Key Vault C#错误远程服务器返回错误:(403)禁止

Azure 托管服务器 - Godaddy DNS - 需要为 Azure 托管服务器创建 SPF

无法连接到我在Azure中新创建的Postgresql服务器

内部服务器错误 Azure Rest Api put 请求以创建数据库

Azure PostgreSQL服务器没有VNET选项

代理上的Azure Pipelines本地PostgreSQL服务器

使用参数创建Azure无服务器功能

创建从SQL 2005到Azure的链接服务器

Azure PaaS 逻辑服务器创建时间

用于灵活 mysql 服务器的 Azure ARM 模板提供“内部服务器错误”

访问 Azure MobileServices TableController 时出现服务器错误

Azure-请求无法完成。(内部服务器错误)

Bot发布到Azure并收到内部服务器错误

Azure“远程服务器返回错误:(530)未登录。”

存储过程的Azure链接服务器RPC错误

Azure Functions Python 状态:500 内部服务器错误

在Azure Web应用中发布出现服务器错误

Azure Python Web App内部服务器错误

Azure IoTHub ExportDevicesAsync 引发内部服务器错误

Azure 函数状态代码 500 内部服务器错误

Azure的列表Azure数据库使用Azure的Java SDK的资源组的PostgreSQL服务器

有没有办法创建从 Azure SQL 数据库到 PostgreSQL 的链接服务器?

内部服务器错误-Azure应用服务自定义控制器

从 powershell 向 Azure Database for MySQL 服务器添加防火墙规则

Azure Web Apps,服务器场与WebSite的监视/警报规则要求

Azure通知服务:远程服务器返回错误:(401)未经授权。ExpiredToken:.TrackingId:

连接到Azure移动服务上托管的Socket.IO服务器返回错误

内部服务器错误500-托管Microsoft Bot Framework的Azure应用服务