<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_operator.sgml,v 1.3 2006/09/16 00:30:16 momjian Exp $
PostgreSQL documentation
-->

<refentry id="SQL-ALTEROPERATOR">
 <refmeta>
  <refentrytitle id="SQL-ALTEROPERATOR-TITLE">ALTER OPERATOR</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>ALTER OPERATOR</refname>
  <refpurpose>change the definition of an operator</refpurpose>
 </refnamediv>  
  
 <indexterm zone="sql-alteroperator">
  <primary>ALTER OPERATOR</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
ALTER OPERATOR <replaceable>name</replaceable> ( { <replaceable>lefttype</replaceable> | NONE } , { <replaceable>righttype</replaceable> | NONE } ) OWNER TO <replaceable>newowner</replaceable>
</synopsis>
 </refsynopsisdiv>
  
 <refsect1>
  <title>Description</title>

  <para>
   <command>ALTER OPERATOR</command> changes the definition of
   an operator.  The only currently available functionality is to change the
   owner of the operator.
  </para>

  <para>
   You must own the operator to use <command>ALTER OPERATOR</>.
   To alter the owner, you must also be a direct or indirect member of the new
   owning role, and that role must have <literal>CREATE</literal> privilege on
   the operator's schema.  (These restrictions enforce that altering the owner
   doesn't do anything you couldn't do by dropping and recreating the operator.
   However, a superuser can alter ownership of any operator anyway.)
  </para>
 </refsect1>
  
 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><replaceable class="parameter">name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of an existing operator.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">lefttype</replaceable></term>
    <listitem>
     <para>
      The data type of the operator's left operand; write
      <literal>NONE</literal> if the operator has no left operand.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">righttype</replaceable></term>
    <listitem>
     <para>
      The data type of the operator's right operand; write
      <literal>NONE</literal> if the operator has no right operand.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">newowner</replaceable></term>
    <listitem>
     <para>
      The new owner of the operator.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   Change the owner of a custom operator <literal>a @@ b</literal> for type <type>text</type>:
<programlisting>
ALTER OPERATOR @@ (text, text) OWNER TO joe;
</programlisting>
  </para>
 </refsect1>
 
 <refsect1>
  <title>Compatibility</title>

  <para>
   There is no <command>ALTER OPERATOR</command> statement in
   the SQL standard.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-createoperator" endterm="sql-createoperator-title"></member>
   <member><xref linkend="sql-dropoperator" endterm="sql-dropoperator-title"></member>
  </simplelist>
 </refsect1>
</refentry>
