CREATE OPERATOR public。=>将PostgreSQL 9.4.20备份到PostgreSQL 11.1恢复时出错

时间:2018-12-13 18:28:40

标签: postgresql upgrade

我正在从PostgreSQL 9.4.20备份一个大型数据库,并将其还原到PostgreSQL 11.1。

我收到此错误:

syntax error at or near "=>"

它源于以下代码:

--
-- Name: =>; Type: OPERATOR; Schema: public; Owner: postgres
--

CREATE OPERATOR public.=> (
    FUNCTION = public.tconvert,
    LEFTARG = text,
    RIGHTARG = text
);

可以安全地忽略它吗?如果没有,该如何预防或解决?

1 个答案:

答案 0 :(得分:1)

这在release notes for 9.5中有解释:

  

允许93 = ']'在函数调用中指定命名参数(Pavel Stehule)

     

以前只能使用=>。这要求消除:=成为用户定义的运算符的可能性。自PostgreSQL 9.0起,创建用户定义的=>运算符就一直发出警告。

您最好的前进方式是在迁移之前 重命名操作符。