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