Перейти к основному содержимому

ALTER SYSTEM

примечание

Эта страница переведена при помощи нейросети GigaChat.

ALTER SYSTEM - изменение параметра конфигурации сервера.

Синтаксис

ALTER SYSTEM SET configuration_parameter { TO | = } { value [, ...] | DEFAULT }

ALTER SYSTEM RESET configuration_parameter
ALTER SYSTEM RESET ALL

Описание

ALTER SYSTEM используется для изменения параметров конфигурации сервера на уровне всего кластера баз данных. Это может быть удобнее, чем традиционное редактирование файла postgresql.conf вручную. Команда записывает указанное значение параметра в файл postgresql.auto.conf, который читается в дополнение к postgresql.conf. Установка параметра в значение DEFAULT или использование варианта RESET удаляет соответствующую запись из postgresql.auto.conf. Команда RESET ALL удаляет все такие записи.

Значения, заданные через ALTER SYSTEM, вступают в силу после следующей перезагрузки конфигурации сервера, либо после перезапуска сервера — в случае параметров, которые можно изменить только при запуске. Перезагрузку конфигурации можно выполнить с помощью SQL-функции pg_reload_conf(), команды pg_ctl reload или отправкой сигнала SIGHUP главному серверному процессу.

Изменять параметры с помощью ALTER SYSTEM могут только суперпользователи и пользователи, которым предоставлены соответствующие привилегии на изменение конкретного параметра. Поскольку команда напрямую воздействует на файловую систему и не может быть отменена, ее запрещено использовать внутри транзакционного блока или функции.

Параметры

configuration_parameter
Имя настраиваемого параметра конфигурации. Доступные параметры описаны в разделе «Конфигурация сервера».
value
Новое значение параметра. Может быть указано в виде строковой константы, идентификатора, числа или списка, разделенного запятыми, в зависимости от типа параметра. Значения, не являющиеся числами или допустимыми идентификаторами, необходимо заключать в кавычки. Ключевое слово DEFAULT удаляет параметр и его значение из файла postgresql.auto.conf.

Для некоторых параметров, принимающих списки, заключение значений в кавычки приводит к выводу с двойными кавычками — для сохранения пробелов и запятых. Для других параметров двойные кавычки нужно указывать внутри одинарных.

Примечания

Команду ALTER SYSTEM нельзя использовать для установки значения параметра data_directory, allow_alter_system и других параметров, недопустимых в postgresql.conf (например, предустановленные параметры).

Дополнительные способы задания параметров описаны в разделе «Установка параметров».

ALTER SYSTEM можно отключить, установив для параметра allow_alter_system значение off, но это не является механизмом безопасности (как подробно описано в описании этого параметра).

Примеры

Установка уровня ведения журнала транзакций (wal_level):

ALTER SYSTEM SET wal_level = replica;

Отмена изменения, восстановление значения, заданного в postgresql.conf:

ALTER SYSTEM RESET wal_level;

Совместимость

Команда ALTER SYSTEM является расширением PostgreSQL.

Смотрите также

SET, SHOW