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 могут только суперпользователи. А так как эта команда работает непосредственно с файловой системой и не может быть отменена, её нельзя поместить в блок транзакции или функцию.
Параметры
параметр_конфигурацииИмя устанавливаемого параметра конфигурации. Список доступных параметров приведён в Главе 18.
значениеНовое значение параметра. Значениями могут быть строковые константы, идентификаторы, числа или списки таких элементов через запятую, в зависимости от конкретного параметра. Если в качестве значения указать
DEFAULT, параметр и его значение удаляется изpostgresql.auto.conf.
Замечания
С помощью этой команды нельзя задать data_directory, равно как и другие параметры, недопустимые в postgresql.conf (например, предустановленные параметры).
Другие способы настройки параметров описаны в Разделе 18.1.
Примеры
Установка уровня ведения журнала транзакций (wal_level):
ALTER SYSTEM SET wal_level = replica;
Отмена изменения, восстановление значения, заданного в postgresql.conf:
ALTER SYSTEM RESET wal_level;
Совместимость
Оператор ALTER SYSTEM является расширением Postgres Pro.