Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

55P02 1С:Предприятие и СУБД

PostgreSQL Error 55P02 cant_change_runtime_param: Конфигурация параметров

Обновлено: 26.08.2026 · Официальная документация ↗
  • Ошибка выполнения: ERROR: 55P02: parameter "shared_buffers" cannot be changed without restarting the server.
  • Сбой при попытке изменить параметры памяти или сокетов через SET внутри пользовательской сессии 1С.
  • Отказ выполнения команды ALTER SYSTEM SET без последующей аппаратной перезагрузки инстанса.
  • Невозможность динамически применить настройки кластера в скриптах тюнинга.

1. Контексты параметров в PostgreSQL (GUC Contexts)

Каждый параметр в PostgreSQL имеет строго определенный контекст (уровень изменения). Ошибка 55P02 возникает при попытке изменить параметр уровня postmaster на лету:

КонтекстГде можно менятьТребуется ли перезапуск?
internalТолько при инициализации кластера (initdb)Нельзя изменить
postmasterТолько в postgresql.confДа (Рестарт службы)
sighupВ postgresql.conf / ALTER SYSTEMНет (pg_reload_conf)
user / superuserВ сессии через SETНет (Действует на сессию)

2. Проверка контекста конкретного параметра

Выполните запрос к представлению pg_settings, чтобы узнать требования параметра:

SELECT name, setting, unit, context, short_desc 
FROM pg_settings 
WHERE name IN ('shared_buffers', 'max_connections', 'work_mem', 'listen_addresses');

3. Правильное применение параметров postmaster

Для параметров со значением context = 'postmaster' (например, shared_buffers, max_connections, huge_pages):

-- 1. Запись параметра в postgresql.auto.conf:
ALTER SYSTEM SET shared_buffers = '16GB';

-- 2. Перезапуск службы PostgreSQL в ОС (Обязательно):
-- Linux Systemd:
-- sudo systemctl restart postgresql-16

4. Правильное применение параметров sighup (без перезагрузки)

Для параметров со значением context = 'sighup' (например, effective_cache_size, checkpoint_completion_target, max_wal_size):

ALTER SYSTEM SET effective_cache_size = '48GB';
SELECT pg_reload_conf(); -- Применяется мгновенно без перезапуска
💡 Практика специалистов: При тюнинге серверов под 1С:Предприятие группируйте изменения: сначала пропишите все параметры через ALTER SYSTEM, а затем выполните один плановый перезапуск сервиса в технологическое окно.

Частые вопросы (FAQ)

Какие основные параметры 1С требуют обязательного перезапуска PostgreSQL?

Критичные параметры уровня postmaster: shared_buffers, max_connections, max_prepared_transactions, max_locks_per_transaction, track_activity_query_size, huge_pages.

Можно ли менять work_mem на лету без перезапуска?

Да, параметр work_mem имеет контекст user: его можно менять динамически как глобально (pg_reload_conf), так и для конкретной роли (ALTER ROLE) или даже внутри одной транзакции (SET work_mem).

Где сохраняются параметры после выполнения ALTER SYSTEM SET?

Параметры записываются в файл postgresql.auto.conf внутри директории базы данных (PGDATA). Этот файл имеет наивысший приоритет над основным postgresql.conf.

Как отменить ошибочно внесенный параметр в postgresql.auto.conf?

Выполните команду ALTER SYSTEM RESET <имя_параметра>; или ALTER SYSTEM RESET ALL; и затем перечитайте конфигурацию через pg_reload_conf().

Полезные материалы
Рекомендуем