Man Linux: Main Page and Category List

NAME

       CREATE TABLESPACE - define a new tablespace

SYNOPSIS

       CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION ’directory

DESCRIPTION

       CREATE   TABLESPACE   registers  a  new  cluster-wide  tablespace.  The
       tablespace name  must  be  distinct  from  the  name  of  any  existing
       tablespace in the database cluster.

       A tablespace allows superusers to define an alternative location on the
       file system where the data files containing database objects  (such  as
       tables and indexes) can reside.

       A  user  with  appropriate privileges can pass tablespacename to CREATE
       DATABASE, CREATE TABLE, CREATE INDEX or ADD CONSTRAINT to have the data
       files for these objects stored within the specified tablespace.

PARAMETERS

       tablespacename
              The  name  of  a tablespace to be created. The name cannot begin
              with pg_, as such names are reserved for system tablespaces.

       username
              The name of the user who will own the  tablespace.  If  omitted,
              defaults  to the user executing the command. Only superusers can
              create tablespaces, but they can assign ownership of tablespaces
              to non-superusers.

       directory
              The  directory  that  will  be  used  for  the  tablespace.  The
              directory must be empty and must  be  owned  by  the  PostgreSQL
              system user. The directory must be specified by an absolute path
              name.

NOTES

       Tablespaces are only supported on systems that support symbolic  links.

       CREATE TABLESPACE cannot be executed inside a transaction block.

EXAMPLES

       Create a tablespace dbspace at /data/dbs:

       CREATE TABLESPACE dbspace LOCATION ’/data/dbs’;

       Create   a   tablespace  indexspace  at  /data/indexes  owned  by  user
       genevieve:

       CREATE TABLESPACE indexspace OWNER genevieve LOCATION ’/data/indexes’;

COMPATIBILITY

       CREATE TABLESPACE is a PostgreSQL extension.

SEE ALSO

       CREATE DATABASE [create_database(7)], CREATE  TABLE  [create_table(7)],
       CREATE  INDEX  [create_index(7)], DROP TABLESPACE [drop_tablespace(7)],
       ALTER TABLESPACE [alter_tablespace(7)]