ALTER_TABLESPACE - change the definition of a tablespace
Contents
Compatibility
There is no ALTERTABLESPACE statement in the SQL standard.
Description
ALTERTABLESPACE 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.)
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;
Name
ALTER_TABLESPACE - change the definition of a tablespace
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 seq_page_cost, random_page_cost,
effective_io_concurrency, 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.
See Also
CREATE TABLESPACE (CREATE_TABLESPACE(7)), DROP TABLESPACE (DROP_TABLESPACE(7))
PostgreSQL 17.5 2025 ALTERTABLESPACE(7)
Synopsis
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 [, ... ] )
