我的数据库有从整数到文本的隐式转换,所以我得到一些'运算符不是唯一'的问题。我正在尝试删除运算符|| (text,anynonarray)没有成功,错误信息是
错误:无法删除运算符||(text,anynonarray),因为它是数据库系统所必需的 SQL状态:2BP01
我有另一个没有这个操作符的数据库,所以我认为有可能。我不能在数百个查询中添加显式强制转换,也不能删除隐式强制转换。有一种方法可以强制操作这个操作员吗?
答案 0 :(得分:0)
似乎我明白了。诀窍是从pg_operator表中删除右键。
delete from pg_operator where oprname = '||' and (oprleft = 25 or oprleft = 2776 ) and oprleft != oprright
因为我想删除这些运算符:
OPERATOR ||(“text”,anynonarray);
OPERATOR ||(anynonarray,“text”);
我不知道是否有任何影响,到现在为止似乎还不错。