<!--
PostgreSQL documentation
-->

<refentry id="sql-alterprotocol">
 <indexterm zone="sql-alterprotocol">
  <primary>ALTER PROTOCOL</primary>
 </indexterm>

 <refmeta>
  <refentrytitle id="sql-alterprotocol-title">ALTER PROTOCOL</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>ALTER PROTOCOL</refname>
  <refpurpose>change the definition of a custom data access protocol</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>

ALTER PROTOCOL name RENAME TO newname

ALTER PROTOCOL name OWNER TO newowner

</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>ALTER PROTOCOL</command> changes the definition of a protocol. Only
   the protocol name or owner can be altered.  You must own the protocol to use
   <command>ALTER PROTOCOL</command>. To alter the owner, you must also be a
   direct or indirect member of the new owning role, and that role must have
   <command>CREATE</command> privilege on schema of the conversion.  These
   restrictions are in place to ensure that altering the owner only makes
   changes that could by made by dropping and recreating the protocol. Note
   that a superuser can alter ownership of any protocol.
   </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 protocol.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><replaceable class="parameter">newname</replaceable></term>
      <listitem>
       <para>
        The new name of the protocol.
       </para>
      </listitem>
     </varlistentry>

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

 </refsect1>

</refentry>
