'\" t .\" Title: ALTER OPERATOR .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2021 .\" Manual: PostgreSQL 13.4 Documentation .\" Source: PostgreSQL 13.4 .\" Language: English .\" .TH "ALTER OPERATOR" "7" "2021" "PostgreSQL 13.4" "PostgreSQL 13.4 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ALTER_OPERATOR \- change the definition of an operator .SH "SYNOPSIS" .sp .nf ALTER OPERATOR \fIname\fR ( { \fIleft_type\fR | NONE } , { \fIright_type\fR | NONE } ) OWNER TO { \fInew_owner\fR | CURRENT_USER | SESSION_USER } ALTER OPERATOR \fIname\fR ( { \fIleft_type\fR | NONE } , { \fIright_type\fR | NONE } ) SET SCHEMA \fInew_schema\fR ALTER OPERATOR \fIname\fR ( { \fIleft_type\fR | NONE } , { \fIright_type\fR | NONE } ) SET ( { RESTRICT = { \fIres_proc\fR | NONE } | JOIN = { \fIjoin_proc\fR | NONE } } [, \&.\&.\&. ] ) .fi .SH "DESCRIPTION" .PP \fBALTER OPERATOR\fR changes the definition of an operator\&. .PP You must own the operator to use \fBALTER OPERATOR\fR\&. To alter the owner, you must also be a direct or indirect member of the new owning role, and that role must have CREATE privilege on the operator\*(Aqs schema\&. (These restrictions enforce that altering the owner doesn\*(Aqt do anything you couldn\*(Aqt do by dropping and recreating the operator\&. However, a superuser can alter ownership of any operator anyway\&.) .SH "PARAMETERS" .PP \fIname\fR .RS 4 The name (optionally schema\-qualified) of an existing operator\&. .RE .PP \fIleft_type\fR .RS 4 The data type of the operator\*(Aqs left operand; write NONE if the operator has no left operand\&. .RE .PP \fIright_type\fR .RS 4 The data type of the operator\*(Aqs right operand; write NONE if the operator has no right operand\&. .RE .PP \fInew_owner\fR .RS 4 The new owner of the operator\&. .RE .PP \fInew_schema\fR .RS 4 The new schema for the operator\&. .RE .PP \fIres_proc\fR .RS 4 The restriction selectivity estimator function for this operator; write NONE to remove existing selectivity estimator\&. .RE .PP \fIjoin_proc\fR .RS 4 The join selectivity estimator function for this operator; write NONE to remove existing selectivity estimator\&. .RE .SH "EXAMPLES" .PP Change the owner of a custom operator a @@ b for type text: .sp .if n \{\ .RS 4 .\} .nf ALTER OPERATOR @@ (text, text) OWNER TO joe; .fi .if n \{\ .RE .\} .PP Change the restriction and join selectivity estimator functions of a custom operator a && b for type int[]: .sp .if n \{\ .RS 4 .\} .nf ALTER OPERATOR && (_int4, _int4) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel); .fi .if n \{\ .RE .\} .SH "COMPATIBILITY" .PP There is no \fBALTER OPERATOR\fR statement in the SQL standard\&. .SH "SEE ALSO" CREATE OPERATOR (\fBCREATE_OPERATOR\fR(7)), DROP OPERATOR (\fBDROP_OPERATOR\fR(7))