summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/ref/alter_server.sgml
blob: 186f38b5f82e65f15c60c80d856e9be2712bd6b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!--
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 own the server and also
   be a direct or indirect member of 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>