mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Update the reference pages for various ALTER commands that mentioned that you must be a member of role that will be the new owner to instead say that you must be able to SET ROLE to the new owner. Update ddl.sgml's generate statement on this topic along similar lines. Likewise, update CREATE SCHEMA and CREATE DATABASE, which have options to specify who will own the new objects, to say that you must be able to SET ROLE to the role that will own them. Finally, update the documentation for the GRANT statement itself with some general principles about how the SET option works and how it can be used. Patch by me, reviewed (but not fully endorsed) by Noah Misch. Discussion: http://postgr.es/m/CA+TgmoZk6VB3DQ83+DO5P_HP=M9PQAh1yj-KgeV30uKefVaWDg@mail.gmail.com
145 lines
4.2 KiB
Plaintext
145 lines
4.2 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/alter_server.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="sql-alterserver">
|
|
<indexterm zone="sql-alterserver">
|
|
<primary>ALTER SERVER</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>ALTER SERVER</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>ALTER SERVER</refname>
|
|
<refpurpose>change the definition of a foreign server</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
ALTER SERVER <replaceable class="parameter">name</replaceable> [ VERSION '<replaceable class="parameter">new_version</replaceable>' ]
|
|
[ OPTIONS ( [ ADD | SET | DROP ] <replaceable class="parameter">option</replaceable> ['<replaceable class="parameter">value</replaceable>'] [, ... ] ) ]
|
|
ALTER SERVER <replaceable class="parameter">name</replaceable> OWNER TO { <replaceable>new_owner</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
|
|
ALTER SERVER <replaceable class="parameter">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
<command>ALTER SERVER</command> changes the definition of a foreign
|
|
server. The first form changes the server version string or the
|
|
generic options of the server (at least one clause is required).
|
|
The second form changes the owner of the server.
|
|
</para>
|
|
|
|
<para>
|
|
To alter the server you must be the owner of the server.
|
|
Additionally to alter the owner, you must be able to
|
|
<literal>SET ROLE</literal> to the new owning role, and you must
|
|
have <literal>USAGE</literal> privilege on the server's foreign-data
|
|
wrapper. (Note that superusers satisfy all these criteria
|
|
automatically.)
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The name of an existing server.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_version</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
New server version.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="parameter">option</replaceable> ['<replaceable class="parameter">value</replaceable>'] [, ... ] )</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Change options for the
|
|
server. <literal>ADD</literal>, <literal>SET</literal>, and <literal>DROP</literal>
|
|
specify the action to be performed. <literal>ADD</literal> is assumed
|
|
if no operation is explicitly specified. Option names must be
|
|
unique; names and values are also validated using the server's
|
|
foreign-data wrapper library.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_owner</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The user name of the new owner of the foreign server.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The new name for the foreign server.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<para>
|
|
Alter server <literal>foo</literal>, add connection options:
|
|
<programlisting>
|
|
ALTER SERVER foo OPTIONS (host 'foo', dbname 'foodb');
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Alter server <literal>foo</literal>, change version,
|
|
change <literal>host</literal> option:
|
|
<programlisting>
|
|
ALTER SERVER foo VERSION '8.4' OPTIONS (SET host 'baz');
|
|
</programlisting></para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
<command>ALTER SERVER</command> conforms to ISO/IEC 9075-9 (SQL/MED).
|
|
The <literal>OWNER TO</literal> and <literal>RENAME</literal> forms are
|
|
PostgreSQL extensions.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-createserver"/></member>
|
|
<member><xref linkend="sql-dropserver"/></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
|
|
</refentry>
|