]> granicus.if.org Git - postgresql/blob - doc/src/sgml/ref/alter_database.sgml
This patch implement the TODO [ALTER DATABASE foo OWNER TO bar].
[postgresql] / doc / src / sgml / ref / alter_database.sgml
1 <!--
2 $PostgreSQL: pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.12 2004/05/26 13:56:42 momjian Exp $
3 PostgreSQL documentation
4 -->
5
6 <refentry id="SQL-ALTERDATABASE">
7  <refmeta>
8   <refentrytitle id="sql-alterdatabase-title">ALTER DATABASE</refentrytitle>
9   <refmiscinfo>SQL - Language Statements</refmiscinfo>
10  </refmeta>
11
12  <refnamediv>
13   <refname>ALTER DATABASE</refname>
14   <refpurpose>change a database</refpurpose>
15  </refnamediv>
16
17  <indexterm zone="sql-alterdatabase">
18   <primary>ALTER DATABASE</primary>
19  </indexterm>
20
21  <refsynopsisdiv>
22 <synopsis>
23 ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> SET <replaceable>parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
24 ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replaceable>parameter</replaceable>
25
26 ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> OWNER TO <replaceable>new_owner</replaceable>
27
28 ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>newname</replaceable>
29 </synopsis>
30  </refsynopsisdiv>
31
32  <refsect1>
33   <title>Description</title>
34
35   <para>
36    <command>ALTER DATABASE</command> is used to change the attributes
37    of a database.
38   </para>
39
40   <para>
41    The first two forms change the session default of a run-time
42    configuration variable for a <productname>PostgreSQL</productname>
43    database. Whenever a new session is subsequently started in that
44    database, the specified value becomes the session default value.
45    The database-specific default overrides whatever setting is present
46    in <filename>postgresql.conf</> or has been received from the
47    <command>postmaster</command> command line.  Only the database
48    owner or a superuser can change the session defaults for a
49    database.
50   </para>
51
52   <para>
53    The third form changes the name of the database.  Only the database
54    owner can rename a database, and only if he has the
55    <literal>CREATEDB</literal> privilege.  The current database cannot
56    be renamed.  (Connect to a different database if you need to do
57    that.)
58   </para>
59
60   <para>
61    The fourth form changes the owner of the database.  Only a superuser
62    can change the database's owner.
63   </para>
64  </refsect1>
65
66  <refsect1>
67   <title>Parameters</title>
68
69     <variablelist>
70      <varlistentry>
71       <term><replaceable class="PARAMETER">name</replaceable></term>
72       <listitem>
73        <para>
74         The name of the database whose session defaults are to be altered.
75        </para>
76       </listitem>
77      </varlistentry>
78
79      <varlistentry>
80       <term><replaceable>parameter</replaceable></term>
81       <term><replaceable>value</replaceable></term>
82       <listitem>
83        <para>
84         Set the session default for this database of the specified
85         configuration parameter to the given value.  If
86         <replaceable>value</replaceable> is <literal>DEFAULT</literal>
87         or, equivalently, <literal>RESET</literal> is used, the
88         database-specific variable setting is removed and the system-wide
89         default
90         setting will be inherited in new sessions.  Use <literal>RESET
91         ALL</literal> to clear all settings.
92        </para>
93
94        <para>
95         See <xref linkend="sql-set" endterm="sql-set-title"> and <xref linkend="runtime-config">
96         for more information about allowed parameter names
97         and values.
98        </para>
99       </listitem>
100      </varlistentry>
101
102    <varlistentry>
103     <term><replaceable>newname</replaceable></term>
104     <listitem>
105      <para>
106       The new name of the database.
107      </para>
108     </listitem>
109    </varlistentry>
110   </variablelist>
111  </refsect1>
112
113  <refsect1>
114   <title>Notes</title>
115
116   <para>
117    Using <xref linkend="sql-alteruser" endterm="sql-alteruser-title">,
118    it is also possible to tie a session default to a specific user
119    rather than a database.  User-specific settings override database-specific
120    ones if there is a conflict.
121   </para>
122  </refsect1>
123
124  <refsect1>
125   <title>Examples</title>
126
127   <para>
128    To disable index scans by default in the database
129    <literal>test</literal>:
130
131 <programlisting>
132 ALTER DATABASE test SET enable_indexscan TO off;
133 </programlisting>
134   </para>
135  </refsect1>
136
137  <refsect1>
138   <title>Compatibility</title>
139     
140   <para>
141    The <command>ALTER DATABASE</command> statement is a
142    <productname>PostgreSQL</productname> extension.
143   </para>
144  </refsect1>
145
146  <refsect1>
147   <title>See Also</title>
148
149   <simplelist type="inline">
150    <member><xref linkend="sql-alteruser" endterm="sql-alteruser-title"></member>
151    <member><xref linkend="sql-createdatabase" endterm="sql-createdatabase-title"></member>
152    <member><xref linkend="sql-dropdatabase" endterm="sql-dropdatabase-title"></member>
153    <member><xref linkend="sql-set" endterm="sql-set-title"></member>
154   </simplelist>
155  </refsect1>
156 </refentry>
157
158 <!-- Keep this comment at the end of the file
159 Local variables:
160 mode: sgml
161 sgml-omittag:nil
162 sgml-shorttag:t
163 sgml-minimize-attributes:nil
164 sgml-always-quote-attributes:t
165 sgml-indent-step:1
166 sgml-indent-data:t
167 sgml-parent-document:nil
168 sgml-default-dtd-file:"../reference.ced"
169 sgml-exposed-tags:nil
170 sgml-local-catalogs:"/usr/lib/sgml/catalog"
171 sgml-local-ecat-files:nil
172 End:
173 -->