📄 alter_database.sgml
字号:
<!--$PostgreSQL: pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.17 2005/10/13 22:44:51 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> <indexterm zone="sql-alterdatabase"> <primary>ALTER DATABASE</primary> </indexterm> <refsynopsisdiv><synopsis>ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replaceable class="PARAMETER">option</replaceable> [ ... ] ]where <replaceable class="PARAMETER">option</replaceable> can be: CONNECTION LIMIT <replaceable class="PARAMETER">connlimit</replaceable>ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> SET <replaceable>parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replaceable>parameter</replaceable>ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>newname</replaceable>ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> OWNER TO <replaceable>new_owner</replaceable></synopsis> </refsynopsisdiv> <refsect1> <title>Description</title> <para> <command>ALTER DATABASE</command> changes the attributes of a database. </para> <para> The first form changes certain per-database settings. (See below for details.) Only the database owner or a superuser can change these settings. </para> <para> The second and third forms change the session default for a run-time configuration variable for a <productname>PostgreSQL</productname> database. Whenever a new session is subsequently started in that database, the specified value becomes the session default value. The database-specific default overrides whatever setting is present in <filename>postgresql.conf</> or has been received from the <command>postmaster</command> command line. Only the database owner or a superuser can change the session defaults for a database. Certain variables cannot be set this way, or can only be set by a superuser. </para> <para> The fourth form changes the name of the database. Only the database owner or a superuser can rename a database; non-superuser owners must also have the <literal>CREATEDB</literal> privilege. The current database cannot be renamed. (Connect to a different database if you need to do that.) </para> <para> The fifth form changes the owner of the database. To alter the owner, you must own the database and also be a direct or indirect member of the new owning role, and you must have the <literal>CREATEDB</literal> privilege. (Note that superusers have all these privileges automatically.) </para> </refsect1> <refsect1> <title>Parameters</title> <variablelist> <varlistentry> <term><replaceable class="PARAMETER">name</replaceable></term> <listitem> <para> The name of the database whose attributes are to be altered. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable class="parameter">connlimit</replaceable></term> <listitem> <para> How many concurrent connections can be made to this database. -1 means no limit. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable>parameter</replaceable></term> <term><replaceable>value</replaceable></term> <listitem> <para> Set this database's session default for the specified configuration parameter to the given value. If <replaceable>value</replaceable> is <literal>DEFAULT</literal> or, equivalently, <literal>RESET</literal> is used, the database-specific setting is removed, so the system-wide default setting will be inherited in new sessions. Use <literal>RESET ALL</literal> to clear all database-specific settings. </para> <para> See <xref linkend="sql-set" endterm="sql-set-title"> and <xref linkend="runtime-config"> for more information about allowed parameter names and values. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable>newname</replaceable></term> <listitem> <para> The new name of the database. </para> </listitem> </varlistentry> <varlistentry> <term><replaceable class="parameter">new_owner</replaceable></term> <listitem> <para> The new owner of the database. </para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Notes</title> <para> It is also possible to tie a session default to a specific user rather than to a database; see <xref linkend="sql-alteruser" endterm="sql-alteruser-title">. 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-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 fileLocal variables:mode: sgmlsgml-omittag:nilsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../reference.ced"sgml-exposed-tags:nilsgml-local-catalogs:"/usr/lib/sgml/catalog"sgml-local-ecat-files:nilEnd:-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -