1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
'\" t
.\" Title: ALTER TABLESPACE
.\" Author: The PostgreSQL Global Development Group
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 2024
.\" Manual: PostgreSQL 16.2 Documentation
.\" Source: PostgreSQL 16.2
.\" Language: English
.\"
.TH "ALTER TABLESPACE" "7" "2024" "PostgreSQL 16.2" "PostgreSQL 16.2 Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ALTER_TABLESPACE \- change the definition of a tablespace
.SH "SYNOPSIS"
.sp
.nf
ALTER TABLESPACE \fIname\fR RENAME TO \fInew_name\fR
ALTER TABLESPACE \fIname\fR OWNER TO { \fInew_owner\fR | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER TABLESPACE \fIname\fR SET ( \fItablespace_option\fR = \fIvalue\fR [, \&.\&.\&. ] )
ALTER TABLESPACE \fIname\fR RESET ( \fItablespace_option\fR [, \&.\&.\&. ] )
.fi
.SH "DESCRIPTION"
.PP
\fBALTER TABLESPACE\fR
can be used to change the definition of a tablespace\&.
.PP
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\&.)
.SH "PARAMETERS"
.PP
\fIname\fR
.RS 4
The name of an existing tablespace\&.
.RE
.PP
\fInew_name\fR
.RS 4
The new name of the tablespace\&. The new name cannot begin with
pg_, as such names are reserved for system tablespaces\&.
.RE
.PP
\fInew_owner\fR
.RS 4
The new owner of the tablespace\&.
.RE
.PP
\fItablespace_option\fR
.RS 4
A tablespace parameter to be set or reset\&. Currently, the only available parameters are
\fIseq_page_cost\fR,
\fIrandom_page_cost\fR,
\fIeffective_io_concurrency\fR
and
\fImaintenance_io_concurrency\fR\&. Setting these values for a particular tablespace will override the planner\*(Aqs usual estimate of the cost of reading pages from tables in that tablespace, and the executor\*(Aqs 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\&.
.RE
.SH "EXAMPLES"
.PP
Rename tablespace
index_space
to
fast_raid:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER TABLESPACE index_space RENAME TO fast_raid;
.fi
.if n \{\
.RE
.\}
.PP
Change the owner of tablespace
index_space:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER TABLESPACE index_space OWNER TO mary;
.fi
.if n \{\
.RE
.\}
.SH "COMPATIBILITY"
.PP
There is no
\fBALTER TABLESPACE\fR
statement in the SQL standard\&.
.SH "SEE ALSO"
CREATE TABLESPACE (\fBCREATE_TABLESPACE\fR(7)), DROP TABLESPACE (\fBDROP_TABLESPACE\fR(7))
|