<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.2 2002/04/23 02:07:15 tgl Exp $ PostgreSQL documentation --> <refentry id="SQL-ALTERDATABASE"> <refmeta> <refentrytitle id="sql-alterdatabase-title">ALTER DATABASE</refentrytitle> <refmiscinfo>SQL - Language Statements</refmiscinfo> </refmeta> <refnamediv> <refname>ALTER DATABASE</refname> <refpurpose>change a database</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis> ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> SET <replaceable>variable</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT } ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replaceable>variable</replaceable> </synopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <para> <command>ALTER DATABASE</command> is used to change the session default of a run-time configuration variable for a <productname>PostgreSQL</productname> database. Whenever a new session is subsequently started in that database, <literal>SET <replaceable>variable</replaceable> TO <replaceable>value</replaceable></literal> is effectively executed before the start of the session. The database-specific default overrides whatever setting is present in <filename>postgresql.conf</> or has been received from the postmaster. </para> <para> Only a superuser or the database owner can change the session defaults for a database. </para> <refsect2> <title>Parameters</title> <para> <variablelist> <varlistentry> <term><replaceable class="PARAMETER">name</replaceable></term> <listitem> <para> The name of the database whose session defaults are to be altered. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable>variable</replaceable></term> <term><replaceable>value</replaceable></term> <listitem> <para> Set the session default for this database of the specified configuration variable to the given value. If <replaceable>value</replaceable> is <literal>DEFAULT</literal> or, equivalently, <literal>RESET</literal> is used, the database-specific variable setting is removed and the default setting will be inherited in new sessions. Use <literal>RESET ALL</literal> to clear all settings. </para> <para> See <xref linkend="sql-set" endterm="sql-set-title"> and the <citetitle>Administrator's Guide</citetitle> for more information about allowed variable names and values. </para> </listitem> </varlistentry> </variablelist> </para> </refsect2> </refsect1> <refsect1> <title>Diagnostics</title> <para> <variablelist> <varlistentry> <term><computeroutput>ALTER DATABASE</computeroutput></term> <listitem> <para> Message returned if the alteration was successful. </para> </listitem> </varlistentry> <varlistentry> <term><computeroutput>ERROR: database "dbname" does not exist</computeroutput></term> <listitem> <para> Error message returned if the specified database is not known to the system. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1> <title>Notes</title> <para> Using <xref linkend="sql-alteruser" endterm="sql-alteruser-title">, it is also possible to tie a session default to a specific user rather than a database. User-specific settings override database-specific ones if there is a conflict. </para> </refsect1> <refsect1> <title>Examples</title> <para> To disable index scans by default in the database <literal>test</literal>: <programlisting> ALTER DATABASE test SET enable_indexscan TO off; </programlisting> </para> </refsect1> <refsect1> <title>Compatibility</title> <para> The <command>ALTER DATABASE</command> statement is a <productname>PostgreSQL</productname> extension. </para> </refsect1> <refsect1> <title>See Also</title> <simplelist type="inline"> <member><xref linkend="sql-alteruser" endterm="sql-alteruser-title"></member> <member><xref linkend="sql-createdatabase" endterm="sql-createdatabase-title"></member> <member><xref linkend="sql-dropdatabase" endterm="sql-dropdatabase-title"></member> <member><xref linkend="sql-set" endterm="sql-set-title"></member> </simplelist> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:nil sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../reference.ced" sgml-exposed-tags:nil sgml-local-catalogs:"/usr/lib/sgml/catalog" sgml-local-ecat-files:nil End: -->