postgrespro.git / summary / log / commit / refs

commit    a6949ca34d3aca018870815cf6cb690024aeea04
Author:   Peter Eisentraut <peter_e@gmx.net>
Date:     Mon Sep 24 12:47:09 2018 +0000

    doc: Clarify CREATE TABLESPACE documentation
    
    Be more specific about when and how to create the directory and what
    permissions it should have.
    
    Discussion: https://www.postgresql.org/message-id/flat/5ca60e1a-26f9-89fd-e912-021dd2b8afe2%40gmail.com


doc/src/sgml/ref/create_tablespace.sgml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/ref/create_tablespace.sgml b/doc/src/sgml/ref/create_tablespace.sgml index 18fa5f0ebf..c621ec2c6b 100644 --- a/doc/src/sgml/ref/create_tablespace.sgml +++ b/doc/src/sgml/ref/create_tablespace.sgml @@ -92,7 +92,8 @@ CREATE TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> <listitem> <para> The directory that will be used for the tablespace. The directory - should be empty and must be owned by the + must exist (<command>CREATE TABLESPACE</command> will not create it), + should be empty, and must be owned by the <productname>PostgreSQL</productname> system user. The directory must be specified by an absolute path name. </para> @@ -137,15 +138,23 @@ CREATE TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> <title>Examples</title> <para> - Create a tablespace <literal>dbspace</literal> at <literal>/data/dbs</literal>: + To create a tablespace <literal>dbspace</literal> at file system location + <literal>/data/dbs</literal>, first create the directory using operating + system facilities and set the correct ownership: +<programlisting> +mkdir /data/dbs +chown postgres:postgres /data/dbs +</programlisting> + Then issue the tablespace creation command inside + <productname>PostgreSQL</productname>: <programlisting> CREATE TABLESPACE dbspace LOCATION '/data/dbs'; </programlisting> </para> <para> - Create a tablespace <literal>indexspace</literal> at <literal>/data/indexes</literal> - owned by user <literal>genevieve</literal>: + To create a tablespace owned by a different database user, use a command + like this: <programlisting> CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes'; </programlisting></para> [parent: fdba460a26af]