Перейти к содержанию

ALTER SYSTEM

DDL-команда ALTER SYSTEM используется для изменения параметров конфигурации СУБД, а также динамических параметров инстанса.

Синтаксис

ALTER SYSTEM RESET ALL param_name SET param_name = TO DEFAULT param_value FOR ALL TIERS TIER tier WAIT APPLIED GLOBALLY LOCALLY OPTION ( TIMEOUT = double ) RESET LOCAL ALL param_name SET LOCAL param_name = TO DEFAULT param_value

Параметры

  • SET — установка значения параметра.

  • RESET — сброс параметра до значения по умолчанию.

  • RESET ALL — сброс всех параметров до их значений по умолчанию.

  • FOR TIER / FOR ALL TIERS — применение действия для конкретного тира, или глобально для всех тиров. Если этот параметр не указан, то подразумевается, что действие распространится глобально.

  • WAIT APPLIED — при использовании этого параметра контроль пользователю будет возвращен только после того как данная операция будет применена либо во всем кластере (GLOBALLY), либо в рамках текущего инстанса (LOCALLY). По умолчанию используется поведение GLOBALLY.

Требуемые привилегии

Данная команда требует привилегии Администратора СУБД (admin).

См. также:

Примеры

Системные параметры

Установка параметра:

ALTER SYSTEM SET auth_password_enforce_digits to false;

Установка параметра для конкретного тира:

ALTER SYSTEM SET memtx_checkpoint_count = 200 FOR TIER default;

Сброс параметра:

ALTER SYSTEM RESET auth_password_enforce_digits;

Сброс всех параметров:

ALTER SYSTEM RESET all;

Сброс параметра для конкретного тира:

ALTER SYSTEM RESET memtx_checkpoint_interval FOR TIER default;

Получить текущее значение параметра:

SELECT * FROM _pico_db_config WHERE key = 'auth_password_enforce_digits';

Динамические параметры

Для изменения динамических параметров запущенного инстанса используйте синтаксис ALTER SYSTEM SET LOCAL. Такая команда имеет следующие свойства:

  • изменения не записываются в системную таблицу _pico_db_config
  • изменения локальны и не влияют на работу других инстансов Picodata
  • изменения сбрасываются при перезапуске инстанса Picodata

Текущий уровень журналирования можно получить с помощью PICO_LOG_LEVEL, а список всех уровней и их числовых значений — с помощью PICO_LOG_LEVEL_MAP.

Пример использования:

ALTER SYSTEM SET LOCAL log_level = 'warn';
или:

ALTER SYSTEM SET LOCAL log_level TO 'warn';

Сброс на исходное значение, заданное при запуске инстанса:

ALTER SYSTEM RESET LOCAL log_level;

или

ALTER SYSTEM SET LOCAL log_level TO DEFAULT;