Мы используем аналитику, включая Meta Pixel, для статистики посещений. Разрешить сбор данных? Политика

1С на PostgreSQL тормозит: что проверять и администрировать

12 мин чтения
15 октября 2026 г.
1С ждёт ответа от сервера и базы данных PostgreSQL.

Короткий ответ. Если 1С работает на PostgreSQL и стала заметно медленнее, проверять нужно всю цепочку: сервер 1С, саму СУБД, диски, запросы, блокировки, фоновые операции и недавние изменения. У PostgreSQL есть собственные задачи обслуживания: сбор статистики, очистка устаревших версий строк, контроль журналов, резервирование и наблюдение за запросами. В клиент-серверной 1С отдельная СУБД – это ещё один участок инфраструктуры, за который должен отвечать конкретный специалист. Перезапуск сервера может временно изменить картину, но причину повторяющихся задержек по нему не найти. Начинать стоит с фиксации симптома и данных за тот момент, когда пользователи действительно видят проблему.

PostgreSQL уже установили. Кто теперь за ним следит?

После перехода с файловой базы сотрудники часто замечают только одно изменение: раньше база лежала в папке, теперь есть сервер.

Часто PostgreSQL появляется и после ухода с MS SQL: базу перенесли, пользователи работают, а порядок обслуживания новой СУБД так и не описали.

Внутри схема стала сложнее. Платформа 1С работает отдельно, данные хранит PostgreSQL, а рядом остаются операционная система, диски, сеть и резервное копирование. «1С:Предприятие» официально поддерживает PostgreSQL в клиент-серверном режиме и публикует перечень поддерживаемых вариантов и версий СУБД. [1]

Проверьте, знакомы ли вам такие ситуации:

  • версия PostgreSQL известна только специалисту, который когда-то настраивал сервер;
  • 1С работает нормально большую часть дня, а отдельные операции внезапно занимают минуты;
  • после массовой загрузки или закрытия месяца база несколько часов ведёт себя иначе;
  • перезапуск сервера стал привычным способом вернуть скорость;
  • диск постепенно заполняется, но никто не может объяснить, какие данные растут;
  • резервные копии выполняются, а тест восстановления PostgreSQL никто не показывал;
  • специалист по 1С говорит, что конфигурация работает штатно, администратор при этом не видит высокой загрузки процессора.

Каждый симптом сам по себе ещё не показывает причину. Полезен тот момент, когда можно сопоставить жалобу пользователя с состоянием сервера и базы данных.

Если у вас пока файловая 1С и вопрос PostgreSQL только рассматривается, сначала стоит прочитать материал про переход от файловой базы к клиент-серверной. В этой статье исходим из того, что PostgreSQL уже используется.

Что вообще приходится администрировать в PostgreSQL

PostgreSQL требует регулярного обслуживания. В официальной документации к таким задачам относятся работа VACUUM, обновление статистики для планировщика, обслуживание журналов и резервное копирование. [2]

В таблице ниже – те же задачи, но с точки зрения компании: что проверяет специалист и какой ответ должен быть у бизнеса.

УчастокЧто проверяет специалистЧто должно быть понятно компании
Версия и совместимостьПоддерживается ли установленная версия текущей платформой 1С и ОСКогда систему можно обновлять и кто это согласует
Диски и ресурсыСвободное место, задержки дисковой подсистемы, память, нагрузкуЕсть ли запас ресурсов и что является ограничением
Соединения и блокировкиКакие сеансы ждут друг друга, есть ли длительные операцииПочему конкретная операция ждала
VACUUM и autovacuumУспевает ли автоматическое обслуживание за изменениями в таблицахНет ли накопившейся технической проблемы в базе
Статистика планировщикаАктуальны ли данные, по которым PostgreSQL выбирает способ выполнения запросовЕсть ли основания проверять планы медленных операций
ЗапросыКакие запросы чаще всего или дольше всего занимают ресурсыС чего начинать оптимизацию
Журналы и ошибкиПовторяющиеся ошибки и события за время сбояЧто происходило в момент жалобы пользователей
Копии и восстановлениеЧто копируется и можно ли получить рабочую базуДо какой точки можно вернуть данные и кто запускает восстановление

Этот список не означает, что каждую задачу ежедневно выполняют вручную. Часть работы PostgreSQL автоматизирует. Задача администратора – проверить, что автоматика справляется с нагрузкой конкретной базы и что результат контролируется.

Если 1С тормозит, сначала зафиксируйте симптом

«1С медленная» – слишком широкое описание.

Для диагностики лучше ответить на несколько вопросов:

  • медленно у одного пользователя или у всего офиса;
  • проблема есть постоянно или появляется в определённое время;
  • тормозит вход в базу, открытие списка, проведение документа, отчёт или закрытие месяца;
  • что происходило перед этим: обновление, загрузка данных, изменение конфигурации, рост числа пользователей;
  • как долго выполняется та же операция в обычный день;
  • есть ли в это время другие тяжёлые задания или обмены.
Цепочка проверки: операция в 1С, сервер 1С, PostgreSQL, диски, недавние изменения.

Так специалист получает точку, с которой можно сопоставить данные PostgreSQL, сервера 1С и операционной системы.

Низкая загрузка процессора сама по себе не доказывает, что проблемы нет. Пользователь может ждать блокировку, диск, другой запрос или внешнюю систему.

Условный пример. Одна и та же операция стала выполняться заметно дольше. Низкая загрузка процессора сама по себе ничего не объясняет. Если в момент жалобы видно ожидание блокировки, специалист проверяет, какой процесс её создаёт и почему. Без снимка состояния в момент жалобы такая проверка невозможна, а после перезапуска данные уже недоступны.

Где искать причину

Для первого разбора подойдёт такая схема.

Что происходитКуда смотреть в первую очередь
Одна операция стала резко медленнееЗапрос, блокировки, изменение данных или конфигурации
Все пользователи жалуются одновременноСервер, диски, СУБД, сеть, фоновые задания
Проблема только в конце месяцаНагрузка, тяжёлые операции, блокировки, состояние базы в этот период
После обновления стало хужеЧто обновилось, совместимость версий, изменения конфигурации и окружения
После перезапуска временно лучшеСостояние памяти, соединений, фоновых процессов; причину нужно искать до следующего рестарта
Постепенно растёт время выполнения одних и тех же операцийРазмер данных, статистика, запросы, индексы и обслуживание таблиц

Дальше поиск сужает технический специалист. Бизнесу не нужно выбирать параметры PostgreSQL по таблице из интернета, но полезно знать, какие данные у специалиста попросить. Ниже по тексту такие вопросы вынесены отдельно.

Как понять, что тормозит: 1С или PostgreSQL

Первая проверка обычно идёт с двух сторон: со стороны PostgreSQL и со стороны сервера 1С.

В PostgreSQL специалист смотрит стандартные представления и журнал:

  • pg_stat_activity: какие сеансы сейчас выполняются и чего они ждут;
  • pg_locks и функция pg_blocking_pids: какой сеанс блокирует другой; [9]
  • pg_stat_user_tables: когда по таблицам последний раз работали autovacuum и autoanalyze и сколько в них старых версий строк; [8]
  • pg_stat_statements: какие запросы занимают больше всего времени, если расширение подключено заранее;
  • журнал сервера PostgreSQL: ошибки и предупреждения за время жалобы.

В 1С проверяют технологический журнал и консоль кластера серверов. Пользователь может ждать управляемую блокировку самой 1С, и тогда PostgreSQL в этот момент выглядит спокойным.

Если ожидание видно в PostgreSQL, разбор продолжают по запросам и состоянию таблиц. Если база в момент жалобы свободна, а операция всё равно ждёт, причину ищут на стороне 1С, сети или внешних обменов.

Что попросить у специалиста. Снимок активных сеансов PostgreSQL в момент жалобы: кто что выполняет и чего ждёт. Если таких данных нет, стоит заранее определить, что фиксировать при следующем повторении проблемы.

Зачем PostgreSQL нужны VACUUM и ANALYZE

После изменения или удаления записей PostgreSQL сохраняет старые версии строк до последующей очистки. Обычный VACUUM освобождает это пространство для повторного использования. [7] В PostgreSQL есть autovacuum, который автоматизирует регулярную работу и включён по умолчанию. Его настройки могут отличаться для отдельных таблиц. [3]

ANALYZE собирает статистику о данных. Планировщик PostgreSQL использует её, чтобы выбрать способ выполнения запроса. При обычной конфигурации autovacuum также запускает автоматический анализ таблиц по мере изменения данных. [4]

Как VACUUM освобождает место после старых версий строк, а ANALYZE собирает статистику.

Практический вывод: фраза «autovacuum включён» ещё не отвечает на вопрос, успевает ли он обслуживать конкретную нагруженную базу. В крупных и активно изменяемых таблицах отдельно проверяют, успевает ли автоматическое обслуживание за нагрузкой.

Что попросить у специалиста. По нескольким самым крупным таблицам базы: когда последний раз отрабатывали autovacuum и autoanalyze и сколько устаревших версий строк накопилось. Если это не проверяют, такую проверку стоит добавить в регламент обслуживания.

А можно просто запустить VACUUM вручную?

Иногда ручная операция нужна, но использовать её как универсальную кнопку ускорения не стоит.

Особенно аккуратно обращаются с VACUUM FULL: PostgreSQL переписывает таблицу, и такая операция требует эксклюзивной блокировки на время обработки. Для крупной таблицы это означает, что работа с ней в 1С остановится до завершения. Для обычного регулярного обслуживания используется другая логика. [5]

Поэтому совет из чата «сделайте VACUUM FULL и всё станет быстрее» сначала должен пройти через специалиста, который понимает размер базы, рабочее окно и причину проблемы.

Как понять, какие запросы занимают время

PostgreSQL умеет собирать статистику по SQL-запросам. Стандартное расширение pg_stat_statements хранит сведения о планировании и выполнении запросов и позволяет увидеть их вызовы и затраченное время. Для его работы требуется предварительная настройка сервера: расширение подключается заранее, а не в момент жалобы. [6]

Это полезно, когда жалоба звучит конкретно: «Отчёт раньше открывался быстро, последние две недели сотрудники ждут заметно дольше».

Тогда специалист может сопоставить пользовательскую операцию со статистикой запросов и проверить, где расходуется время.

Само наличие «медленного SQL» ещё не назначает виноватого. Источник может находиться в прикладной логике 1С, данных, плане выполнения, состоянии таблицы, ресурсах сервера или нескольких участках сразу.

Что попросить у специалиста. Собирается ли статистика запросов на сервере. Если нет, обсудите со специалистом, нужно ли настроить её заранее для следующей диагностики.

Почему перезапуск мешает диагностике

Когда после рестарта стало быстрее, возникает соблазн считать задачу закрытой.

Но часть диагностических данных уже потеряна или изменилась: исчезли текущие соединения, блокировки, очередь операций, поменялось использование памяти. Следующее повторение начинается почти с нуля.

Три шага: зафиксировать состояние, согласовать перезапуск, разобрать причину.

Если система продолжает обслуживать пользователей, сначала зафиксируйте состояние и только затем согласуйте перезапуск. При аварии приоритетом может быть быстрое восстановление работы, но после него всё равно нужен разбор причины.

В статье «Сколько стоит час простоя 1С» мы отдельно разбираем, почему повторяющиеся короткие задержки тоже стоит учитывать как потери бизнеса. Здесь задача другая – собрать данные, по которым технический специалист найдёт источник.

Версию PostgreSQL нельзя обновлять отдельно от 1С

Перед обновлением СУБД нужно проверить совместимость с используемой версией платформы 1С и операционной системой. Фирма «1С» ведёт отдельный актуальный список поддерживаемых СУБД и выпускает собственную сборку PostgreSQL с патчами для работы с платформой. [1]

Это не единственный вариант: Postgres Professional публикует собственные сборки PostgreSQL для 1С, а также выпускает коммерческие редакции Postgres Pro. У разных дистрибутивов свой цикл обновлений и поддержки, поэтому фиксировать нужно не только номер версии, но и то, какой именно дистрибутив установлен. [10]

План обновления должен включать:

  • текущую версию платформы 1С;
  • текущую СУБД, её дистрибутив и сборку;
  • серверную операционную систему;
  • резервную копию и понятный порядок восстановления;
  • проверку рабочих операций после изменения.

Если PostgreSQL появился во время недавнего внедрения, порядок обновлений стоит включить в общий план первых месяцев эксплуатации. Это логично связать со статьёй «Что настроить после внедрения 1С: план первых 90 дней».

Резервная копия PostgreSQL должна восстанавливаться

Для PostgreSQL действует тот же критерий, что и для любой резервной копии 1С: файл или архив сам по себе ещё не подтверждает готовность к аварии. Компания должна знать, что именно входит в копию, где она хранится, кто получает сообщение об ошибке, кто запускает восстановление и до какого момента вернутся данные.

Главный вопрос здесь один: когда последний раз из этой схемы получали рабочую базу и открывали её в 1С. Методику тестового восстановления мы подробно разбирали в статье «Как проверить, что бэкап 1С вас спасёт» – здесь её не повторяем.

Кто должен заниматься PostgreSQL

Этот вопрос лучше решить до первой серьёзной проблемы.

Специалист 1С может сопровождать конфигурацию и платформу. Системный администратор может вести сервер и операционную систему. PostgreSQL при этом должен быть закреплён за исполнителем, который понимает СУБД и участвует в диагностике, обслуживании и восстановлении. Распределение зон между франчайзи, хостером и администратором мы разбирали в статье «Кто должен обслуживать сервер 1С»: название подрядчика не определяет объём работ, его определяет договор и фактическая схема обслуживания.

Для PostgreSQL отдельно зафиксируйте:

Дистрибутив и версия СУБД: [дистрибутив, версия]

Кто администрирует PostgreSQL: [ответственный + контакт]

Кто следит за состоянием сервера: [ответственный]

Кто получает уведомления об ошибках: [ответственный]

Кто согласует обновление: [ответственный]

Кто проверяет резервные копии: [ответственный]

Кто выполняет восстановление: [ответственный]

Дата последней проверки: [дата]

Пароли в такую карточку не вписывайте.

Что должно остаться после диагностики

Хороший результат диагностики – это больше, чем фраза «подкрутили PostgreSQL».

У компании должен остаться короткий вывод:

  • какой симптом проверяли;
  • где оказалось основное ограничение;
  • какие изменения внесли;
  • чем измерили результат после;
  • что нужно наблюдать дальше;
  • какое изменение требует отдельной работы.

Если причина не подтверждена, это тоже стоит написать. Тогда следующая диагностика начинается с уже проверенных гипотез.

Когда звать подрядчика

Диагностика нужна, если задержки повторяются, пользователи регулярно ждут одну и ту же операцию, после перезапуска проблема возвращается или никто не может показать состояние PostgreSQL и его обслуживание.

В «Доктор Сервер» можно обратиться для проверки инфраструктуры, на которой работает 1С, и согласования зон обслуживания PostgreSQL. Состав работ зависит от текущей архитектуры и состояния системы, стоимость определяется после аудита и предоставляется по запросу.

Частые вопросы

Почему 1С на PostgreSQL может тормозить?
Причина может находиться в запросах, блокировках, состоянии таблиц, статистике планировщика, ресурсах сервера, дисковой подсистеме или прикладной части 1С. Начинать лучше с конкретной медленной операции и данных за время её выполнения.
Нужно ли вручную запускать VACUUM и ANALYZE?
PostgreSQL умеет выполнять регулярную очистку и анализ автоматически через autovacuum. При проблемах специалист проверяет, справляется ли автоматическое обслуживание с конкретной нагрузкой. Ручные операции выполняют по результатам диагностики, а не как универсальный способ ускорения.
Поможет ли перезапуск PostgreSQL, если 1С тормозит?
Он может временно изменить состояние системы и убрать часть симптомов. Причину повторяющейся проблемы перезапуск сам по себе не показывает. По возможности диагностические данные фиксируют до рестарта.
Кто должен администрировать PostgreSQL под 1С?
Исполнитель, за которым эта зона закреплена и у которого есть компетенции по СУБД. Это может быть ИТ-подрядчик, системный администратор или профильный специалист. Границы с франчайзи 1С и хостером лучше зафиксировать письменно.
Как понять, что тормозит: 1С или PostgreSQL?
Смотрят обе стороны одновременно. В PostgreSQL проверяют активные сеансы и ожидания, блокировки, состояние таблиц и статистику запросов. В 1С проверяют технологический журнал и управляемые блокировки. Если база в момент жалобы свободна, причину ищут на стороне 1С, сети или обменов.
Сколько стоит диагностика 1С на PostgreSQL?
Стоимость зависит от архитектуры, объёма базы, текущего состояния сервера и глубины диагностики. В «Доктор Сервер» стоимость определяется после аудита и предоставляется по запросу.

Нужна помощь с компьютерным обслуживанием?

Свяжитесь с нами для получения профессиональной консультации

Наши услуги