summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/create_tablespace.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref/create_tablespace.sgml')
-rw-r--r--doc/src/sgml/ref/create_tablespace.sgml156
1 files changed, 156 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/create_tablespace.sgml b/doc/src/sgml/ref/create_tablespace.sgml
new file mode 100644
index 00000000000..9f670a817d6
--- /dev/null
+++ b/doc/src/sgml/ref/create_tablespace.sgml
@@ -0,0 +1,156 @@
+<!--
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_tablespace.sgml,v 1.1 2004/06/18 06:13:05 tgl Exp $
+PostgreSQL documentation
+-->
+
+<refentry id="SQL-CREATETABLESPACE">
+ <refmeta>
+ <refentrytitle id="sql-createtablespace-title">CREATE TABLESPACE</refentrytitle>
+ <refmiscinfo>SQL - Language Statements</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>CREATE TABLESPACE</refname>
+ <refpurpose>define a new tablespace</refpurpose>
+ </refnamediv>
+
+ <indexterm zone="sql-createtablespace">
+ <primary>CREATE TABLESPACE</primary>
+ </indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+CREATE TABLESPACE <replaceable class="parameter">tablespacename</replaceable> [ OWNER <replaceable class="parameter">username</replaceable> ] LOCATION '<replaceable class="parameter">directory</replaceable>'
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>
+ <command>CREATE TABLESPACE</command> registers a new cluster-wide
+ tablespace. The tablespace name must be distinct from the name of any
+ existing tablespace in the database cluster.
+ </para>
+
+ <para>
+ A tablespace allows superusers to define an alternative location on the
+ file system where the data files representing database objects
+ (such as tables and indexes) may reside.
+ </para>
+
+ <para>
+ A user with appropriate privileges can pass
+ <replaceable class="parameter">tablespacename</> to <command>CREATE
+ DATABASE</>, <command>CREATE SCHEMA</>, <command>CREATE TABLE</>,
+ <command>CREATE INDEX</> or <command>CREATE SEQUENCE</> to have the data
+ files for these objects stored within the specified tablespace.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Parameters</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><replaceable class="parameter">tablespacename</replaceable></term>
+ <listitem>
+ <para>
+ The name of a tablespace to be created.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><replaceable class="parameter">username</replaceable></term>
+ <listitem>
+ <para>
+ The name of the user who will own the tablespace. If omitted,
+ defaults to the user executing the command. Only superusers
+ may create tablespaces, but they can assign ownership of tablespaces
+ to non-superusers.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><replaceable class="parameter">directory</replaceable></term>
+ <listitem>
+ <para>
+ The directory that will be used for the tablespace. The directory
+ must be empty and must be owned by the
+ <productname>PostgreSQL</> system user. The directory must be
+ specified by an absolute path name.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Notes</title>
+
+ <para>
+ Tablespaces are only supported on systems that support symbolic links.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+
+ <para>
+ Create a tablespace <literal>dbspace</> at <literal>/data/dbs</>:
+<programlisting>
+CREATE TABLESPACE dbspace LOCATION '/data/dbs';
+</programlisting>
+ </para>
+
+ <para>
+ Create a tablespace <literal>indexspace</> at <literal>/data/indexes</>
+ owned by user <literal>genevieve</>:
+<programlisting>
+CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';
+</programlisting>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Compatibility</title>
+
+ <para>
+ <command>CREATE TABLESPACE</command> is a <productname>PostgreSQL</>
+ 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-createschema" endterm="sql-createschema-title"></member>
+ <member><xref linkend="sql-createtable" endterm="sql-createtable-title"></member>
+ <member><xref linkend="sql-createindex" endterm="sql-createindex-title"></member>
+ <member><xref linkend="sql-createsequence" endterm="sql-createsequence-title"></member>
+ <member><xref linkend="sql-droptablespace" endterm="sql-droptablespace-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:
+-->