ALTER SYSTEM
ALTER SYSTEM — изменить параметр конфигурации сервера
Синтаксис
ALTER SYSTEM SETпараметр_конфигурации
{ TO | = } {значение
[, ...] | DEFAULT } ALTER SYSTEM RESETпараметр_конфигурации
ALTER SYSTEM RESET ALL
Описание
Оператор ALTER SYSTEM
применяется для изменения параметров конфигурации сервера, распространяющихся на весь кластер баз данных. Пользоваться им может быть удобнее, чем вручную редактировать файл postgresql.conf
. ALTER SYSTEM
записывает заданное значение параметра в файл postgresql.auto.conf
, который считывается сервером в дополнение к postgresql.conf
. При указании в качестве значения параметра DEFAULT
или применении формы RESET
соответствующий элемент конфигурации удаляется из postgresql.auto.conf
. Удалить все настроенные таким способом параметры позволяет предложение RESET ALL
.
Значения, установленные командой ALTER SYSTEM
, вступают в силу после следующей перезагрузки конфигурации сервера либо после перезапуска сервера (если это параметры, воспринимаемые только при запуске). Перезагрузить конфигурацию сервера можно, вызвав SQL-функцию pg_reload_conf()
, выполнив pg_ctl reload
или отправив сигнал SIGHUP главному серверному процессу.
Изменить какой-либо параметр, используя ALTER SYSTEM
, могут только суперпользователи и пользователи, которым дано право ALTER SYSTEM
для этого параметра. А так как эта команда работает непосредственно с файловой системой и не может быть отменена, её нельзя поместить в блок транзакции или функцию.
Параметры
параметр_конфигурации
Имя устанавливаемого параметра конфигурации. Список доступных параметров приведён в Главе 18.
значение
Новое значение параметра. Значениями могут быть строковые константы, идентификаторы, числа или списки таких элементов через запятую, в зависимости от конкретного параметра. Значения, не являющиеся числами или действительными идентификаторами, должны заключаться в кавычки. Если в качестве значения указать
DEFAULT
, параметр и его значение удаляются изpostgresql.auto.conf
.Для некоторых параметров, принимающих в качестве значения список, значения в кавычках будут записываться в файл в двойных кавычках для сохранения пробелов и запятых; в других случаях для достижения такого эффекта необходимо использовать двойные кавычки внутри строк, заключённых в одинарные кавычки.
Примечания
С помощью этой команды нельзя задать data_directory, allow_alter_system, равно как и другие параметры, недопустимые в postgresql.conf
(например, предустановленные параметры).
Другие способы настройки параметров описаны в Разделе 18.1.
ALTER SYSTEM
можно отключить, задав параметру allow_alter_system значение off
, однако это не является мерой по обеспечению безопасности, о чём говорится в описании данного параметра.
Примеры
Установка уровня ведения журнала транзакций (wal_level
):
ALTER SYSTEM SET wal_level = replica;
Отмена изменения, восстановление значения, заданного в postgresql.conf
:
ALTER SYSTEM RESET wal_level;
Совместимость
Оператор ALTER SYSTEM
является расширением Postgres Pro.