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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
'\" t
.\" Title: ALTER SYSTEM
.\" 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 SYSTEM" "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_SYSTEM \- change a server configuration parameter
.SH "SYNOPSIS"
.sp
.nf
ALTER SYSTEM SET \fIconfiguration_parameter\fR { TO | = } { \fIvalue\fR [, \&.\&.\&.] | DEFAULT }
ALTER SYSTEM RESET \fIconfiguration_parameter\fR
ALTER SYSTEM RESET ALL
.fi
.SH "DESCRIPTION"
.PP
\fBALTER SYSTEM\fR
is used for changing server configuration parameters across the entire database cluster\&. It can be more convenient than the traditional method of manually editing the
postgresql\&.conf
file\&.
\fBALTER SYSTEM\fR
writes the given parameter setting to the
postgresql\&.auto\&.conf
file, which is read in addition to
postgresql\&.conf\&. Setting a parameter to
DEFAULT, or using the
\fBRESET\fR
variant, removes that configuration entry from the
postgresql\&.auto\&.conf
file\&. Use
RESET ALL
to remove all such configuration entries\&.
.PP
Values set with
\fBALTER SYSTEM\fR
will be effective after the next server configuration reload, or after the next server restart in the case of parameters that can only be changed at server start\&. A server configuration reload can be commanded by calling the SQL function
\fBpg_reload_conf()\fR, running
pg_ctl reload, or sending a
SIGHUP
signal to the main server process\&.
.PP
Only superusers and users granted
ALTER SYSTEM
privilege on a parameter can change it using
\fBALTER SYSTEM\fR\&. Also, since this command acts directly on the file system and cannot be rolled back, it is not allowed inside a transaction block or function\&.
.SH "PARAMETERS"
.PP
\fIconfiguration_parameter\fR
.RS 4
Name of a settable configuration parameter\&. Available parameters are documented in
Chapter\ \&20\&.
.RE
.PP
\fIvalue\fR
.RS 4
New value of the parameter\&. Values can be specified as string constants, identifiers, numbers, or comma\-separated lists of these, as appropriate for the particular parameter\&. Values that are neither numbers nor valid identifiers must be quoted\&.
DEFAULT
can be written to specify removing the parameter and its value from
postgresql\&.auto\&.conf\&.
.sp
For some list\-accepting parameters, quoted values will produce double\-quoted output to preserve whitespace and commas; for others, double\-quotes must be used inside single\-quoted strings to get this effect\&.
.RE
.SH "NOTES"
.PP
This command can\*(Aqt be used to set
data_directory, nor parameters that are not allowed in
postgresql\&.conf
(e\&.g\&.,
preset options)\&.
.PP
See
Section\ \&20.1
for other ways to set the parameters\&.
.SH "EXAMPLES"
.PP
Set the
wal_level:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER SYSTEM SET wal_level = replica;
.fi
.if n \{\
.RE
.\}
.PP
Undo that, restoring whatever setting was effective in
postgresql\&.conf:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER SYSTEM RESET wal_level;
.fi
.if n \{\
.RE
.\}
.SH "COMPATIBILITY"
.PP
The
\fBALTER SYSTEM\fR
statement is a
PostgreSQL
extension\&.
.SH "SEE ALSO"
\fBSET\fR(7), \fBSHOW\fR(7)
|