blob: d965062413c3f458255e9fedea7aee703823aaec [file] [log] [blame]
<!--
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>