关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
更改一个操作符的定义
ALTER OPERATOR <name> ( {<left_type> | NONE} , {<right_type> | NONE} )
OWNER TO { <new_owner> | CURRENT_USER | SESSION_USER }
ALTER OPERATOR <name> ( {<left_type> | NONE} , {<right_type> | NONE} )
SET SCHEMA <new_schema>
ALTER OPERATOR name ( { <left_type> | NONE } , { <right_type> | NONE } )
SET ( { RESTRICT = { <res_proc> | NONE }
| JOIN = { <join_proc> | NONE }
} [, ... ] )
ALTER OPERATOR 用于更改运算符的定义。
使用 ALTER OPERATOR 时,您必须是该运算符的所有者。若要更改所有者,您还必须是新所有者角色的直接或间接成员,且该角色必须对运算符所属模式拥有 CREATE 权限。(这些限制确保更改所有者不会执行任何无法通过删除并重新创建运算符实现的操作。但超级用户仍可更改任何运算符的所有权。)
更改类型 text 的一个自定义操作符 a @@ b 的拥有者:
ALTER OPERATOR @@ (text, text) OWNER TO joe;
更改类型 int[] 的自定义操作符 a && b 的约束和连接选择度估算器函数:
ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
在 SQL 标准中没有 ALTER OPERATOR 语句。