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.