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
141 lines
4.1 KiB
Plaintext
141 lines
4.1 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/alter_tablespace.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="sql-altertablespace">
|
|
<indexterm zone="sql-altertablespace">
|
|
<primary>ALTER TABLESPACE</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>ALTER TABLESPACE</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>ALTER TABLESPACE</refname>
|
|
<refpurpose>change the definition of a tablespace</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
ALTER TABLESPACE <replaceable>name</replaceable> RENAME TO <replaceable>new_name</replaceable>
|
|
ALTER TABLESPACE <replaceable>name</replaceable> OWNER TO { <replaceable>new_owner</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
|
|
ALTER TABLESPACE <replaceable>name</replaceable> SET ( <replaceable class="parameter">tablespace_option</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] )
|
|
ALTER TABLESPACE <replaceable>name</replaceable> RESET ( <replaceable class="parameter">tablespace_option</replaceable> [, ... ] )
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
<command>ALTER TABLESPACE</command> can be used to change the definition of
|
|
a tablespace.
|
|
</para>
|
|
|
|
<para>
|
|
You must own the tablespace to change the definition of a tablespace.
|
|
To alter the owner, you must also be able to <literal>SET ROLE</literal>
|
|
to the new owning role.
|
|
(Note that superusers have these privileges automatically.)
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The name of an existing tablespace.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The new name of the tablespace. The new name cannot
|
|
begin with <literal>pg_</literal>, as such names
|
|
are reserved for system tablespaces.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_owner</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The new owner of the tablespace.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">tablespace_option</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
A tablespace parameter to be set or reset. Currently, the only
|
|
available parameters are <varname>seq_page_cost</varname>,
|
|
<varname>random_page_cost</varname>, <varname>effective_io_concurrency</varname>
|
|
and <varname>maintenance_io_concurrency</varname>.
|
|
Setting these values for a particular tablespace will override the
|
|
planner's usual estimate of the cost of reading pages from tables in
|
|
that tablespace, and the executor's prefetching behavior, as established
|
|
by the configuration parameters of the
|
|
same name (see <xref linkend="guc-seq-page-cost"/>,
|
|
<xref linkend="guc-random-page-cost"/>,
|
|
<xref linkend="guc-effective-io-concurrency"/>,
|
|
<xref linkend="guc-maintenance-io-concurrency"/>). This may be useful if
|
|
one tablespace is located on a disk which is faster or slower than the
|
|
remainder of the I/O subsystem.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<para>
|
|
Rename tablespace <literal>index_space</literal> to <literal>fast_raid</literal>:
|
|
<programlisting>
|
|
ALTER TABLESPACE index_space RENAME TO fast_raid;
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Change the owner of tablespace <literal>index_space</literal>:
|
|
<programlisting>
|
|
ALTER TABLESPACE index_space OWNER TO mary;
|
|
</programlisting></para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
There is no <command>ALTER TABLESPACE</command> statement in
|
|
the SQL standard.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-createtablespace"/></member>
|
|
<member><xref linkend="sql-droptablespace"/></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|