ALTER TABLESPACE
ALTER TABLESPACE
7
SQL - Language Statements
ALTER TABLESPACE
change the definition of a tablespace
ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] )
ALTER TABLESPACE name RESET ( tablespace_option [, ... ] )
Description
ALTER TABLESPACE can be used to change the definition of
a tablespace.
You must own the tablespace to change the definition of a tablespace.
To alter the owner, you must also be able to SET ROLE
to the new owning role.
(Note that superusers have these privileges automatically.)
Parameters
name
The name of an existing tablespace.
new_name
The new name of the tablespace. The new name cannot
begin with pg_, as such names
are reserved for system tablespaces.
new_owner
The new owner of the tablespace.
tablespace_option
A tablespace parameter to be set or reset. Currently, the only
available parameters are seq_page_cost,
random_page_cost, effective_io_concurrency
and maintenance_io_concurrency.
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 ,
,
,
). 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.
Examples
Rename tablespace index_space to fast_raid:
ALTER TABLESPACE index_space RENAME TO fast_raid;
Change the owner of tablespace index_space:
ALTER TABLESPACE index_space OWNER TO mary;
Compatibility
There is no ALTER TABLESPACE statement in
the SQL standard.
See Also