Инструкция по установке Postgres для OLTP приложений и 1С. Часть 1. Базовая конфигурация

15.02.24

База данных - Администрирование СУБД

В Postgres достаточно подробная документация, и, видимо, поэтому при инсталляции Postgres для 1С большинство параметров приходится выставлять самим. Параметров в Postgres много, а составить эффективную комбинацию не так просто. Все упрощается, если рассмотреть профиль нагрузки, например, 1С это прежде всего профиль OLTP нагрузки – так устроены его метаданные (объекты). Если сосредоточиться на оптимизации профиля OLTP, понимание Postgres сразу упростится.
  • Будь проще, и люди к тебе потянутся. СУБД с человеческим лицом?

  • Почему не все дистрибутивы Postgres одинаково полезны для 1С

  • Подготовка для Windows. Установка locale

  • Установка VCRUNTIME

  • Отключение борьбы за экономию.

  • Собственно инсталляция.

  • Инициализация кластера – лучше через initdb

  • Настраиваем доступность по сети и первый старт.

  • Настройка кластера Postgres под 1С.

  • Настройки Postgres.conf для профиля OLTP нагрузки

  • Параметры, связанные сеансами и соединениями.

  • shared_buffers = 12020MB

  • max_files_per_process = 10000

  • max_parallel_workers_per_gather = 0

  • temp_tablespaces = 'ssd_temp'

  • Параметры журнала предзаписи (WAL)

  • Параметры планировщика

  • Параметры автовакуума и сбора статистики.

  • Использование символа \ для экранирования.

  • Параметры для мониторинга

  • Скрипт установки более агрессивных настроек

  • И это все?

 

Будь проще, и люди к тебе потянутся. СУБД с человеческим лицом?

Большинство любит смотреть картинки, а не читать книги, а тем более руководства. Здесь нет ничего плохого, если картинка быстро и сразу доносит необходимую информацию.  Однако развертывание Postgres напоминает нам о прошлом, о котором я читал только в книгах. Прошлое, когда ИТ инфраструктура была настолько дорогая,  квалифицированных специалистов было больше, чем машин. Все крутились вокруг очередной суперЭВМ или стояли в очереди на сеанс машинного времени.

Microsoft  SQL Server  уже показал хороший пример системного ПО для человека, хотя его внутреннюю архитектуру трудно ставить в пример, как Oracle. Машин стало больше, чем квалифицированных специалистов,  и как бы пора меняться.

Действия по данной инструкции – могла бы сделать программа инсталляции, запросив лишь профиль нагрузки  (например, OLTP), а дальше уже по параметрам оборудования

  1. Провести настройку окружения.
  2. Показать лог установки

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

Дистрибутивы от release.1c.ru и 1c.postgrespro.ru такого не делают, только в PostgresPro  выставили некоторые рекомендуемые параметры 1С. Как результат, мы не увидим лучшие практики и каждый пойдет настраивать Postgres в меру своего понимания, поскольку документация Postgres написана для всех случаев, а не для OLTP приложений

Ситуация вряд ли будет быстро меняться, поскольку санкции это хороший  стимул жрать кактус, тем более в ИТ за сложность и платят.

Замечу, что Postgres ставят не только  администраторы, но и  программисты для создания локальных баз разработки, создания внешних схем данных и так далее.

Здесь все изложено для жесткого OLTP, которое создает платформа 1С, независимо от талантов программиста 1С. Те, кто не верит, что 1С может быть жестким OLTP, почитайте простой тест тут Концепция ORM как двигатель прогресса – выявит слабое место Вашей СУБД . В этом тесте только запись, без конкурентных блокировок. А когда идет запись в регистр с итогами, все еще веселее.

Изложение идет  на примере Windows , но установка параметров справедлива и для Unix. В данной части внимание уделено базовой настройке, позволяющей переварить нагрузку при параллельной записи данных и дать 1С возможность приемлемо работать на Postgres. Остальные вопросы, такие как блокировки, большие запросы на чтение, тюнинг индексов, безопасность имеет смысл обсуждать, когда оптимизирован самый ресурсоемкий процесс в OLTP

 

Почему не все дистрибутивы Postgres одинаково полезны для 1С

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

Поиск по слову 1С:Предприятие в документации PostgresPro выдаст следующие ссылки

Postgres Pro Standard : Документация: 16: F.30. mchar — дополнительные типы данных для совместимости с Microsoft SQL Server : Компания Postgres Professional

«Этот модуль был разработан для улучшения поддержки системы 1С:Предприятие, самой популярной в России CRM и ERP-платформы.

Он содержит реализацию типов MCHAR и MVARCHAR, которые с точностью до ошибок совместимы с типами MS SQL CHAR и VARCHAR, соответственно.»

Postgres Pro Standard : Документация: 16: F.20. fulleq — дополнительный оператор равенства для совместимости с Microsoft SQL Server : Компания Postgres Professional

«Модуль fulleq предоставляет дополнительный оператор равенства для совместимости с Microsoft SQL Server.

Этот модуль требуется для поддержки системы 1С:Предприятие.»

Postgres Pro Standard : Документация: 16: 13.3. Явные блокировки : Компания Postgres Professional

«Кроме того, для поддержки системы 1С:Предприятие реализованы ещё два режима блокировок. Эти режимы не конфликтуют ни с какими режимами, описанными выше. Их можно использовать, но лучше вместо них применять рекомендательные блокировки, которые предоставляют ту же функциональность.»

И, наконец, самое известное

Postgres Pro Standard : Документация: 16: F.18. fasttrun — транзакционно-небезопасная функция для усечения временных таблиц : Компания Postgres Professional

«Модуль fasttrun предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, предотвращающую разрастание каталога pg_class.

Этот модуль требуется для поддержки системы 1С:Предприятие.

Операция быстрого усечения не является транзакционной, так что её действие нельзя отменить и оно немедленно становится видимым во всех сеансах независимо от уровня изоляции.»

Это только то, что изложено в документации Postgres pro. При запросах на поддержку - 1С поддерживает только дистрибутив Postgres собственной сборки (а это не то же самое, что 1c.postgrespro.ru)

Как следствие при всем богатстве выбора другие альтернативы потребуют от Вас глубокое погружение в Postgres.

 

Подготовка для Windows. Установка locale

Формально установка Postgres состоит из установки исполняемых файлов и создания кластера Postgres. При создании кластера (initdb) можно установить необходимые locale вручную, если прочитать большое руководство PostgreSQL : Документация: 15: 24.3. Поддержка кодировок : Компания Postgres Professional, и точно знать, что Вы хотите. Но есть более простой путь

Для аккаунта, под которым ведется установка Postgres

1) Установите РФ или Ваш регион в Region, Region format

 

 

2) И на всякий случай Russia в non-Unicode programs.

 

 

Такие же установки нужно сделать под аккаунтом, с которым будет работать сервис Postgres.

Initdb в этом случае сможет выбрать правильную комбинацию для locale

 

Установка VCRUNTIME

По каким-то причинам дистрибутив 1С не проверяет установку VCRUNTIME, как следствие,  приходится его устанавливать вручную, иначе при старте будет ошибка

 


 

Установить можно отсюда Download Visual Studio Tools – Install Free for Windows, Mac, Linux (microsoft.com)

 

Отключение борьбы за экономию.

Борьба за экономию электричества настолько слишком глубоко засела в серверах и на уровне операционной системы, и на уровне виртуализации, и на уровне Bios. Все это нужно отключить, иначе у Вас будет периодически просаживаться производительность . Как это случается, можно почитать тут

1C MSSQL Против Матрицы  виртуализации – Перезагрузка.

 

Собственно инсталляция

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

 

 

Без флага «Установить как сервис» установка фактически произведет разворачивание файлов в каталог Postgres . Вообще инструкция у 1С еще проще

Вступайте в нашу телеграмм-группу Инфостарт

Postgres Highload инструкция установка oltp

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Администрирование СУБД Системный администратор Программист Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    1634    jul.dolganova    8    

21

Администрирование СУБД Пароли Системный администратор 1С 8.3 1С:Розница 2 1С:Управление производственным предприятием Абонемент ($m)

Пароль пользователя СУБД лежит в 1CV8Clst.lst обратимо: кто читает папку srvinfo - достаёт пароли SQL всех баз кластера, минуя права 1С. Обработка показывает, у каких баз пароль извлекается, помечает слабые и выдаёт план защиты. К СУБД не подключается, ничего не пишет - только читает файл.

10 стартмани

06.08.2026    716    12    nedomolkov.ivan    0    

7

Администрирование СУБД Системный администратор 1С 8.3 Бесплатно (free)

Прогнал набор диагностических скриптов на двух рабочих базах: боевой с 580 сеансами и малонагруженной. Разбираю пять находок: статистика 97-дневной давности, 598 запросов со сканами, журнал транзакций в 73 % от данных, tempdb в один файл и 81 % ожиданий на параллелизме, который чинить не надо. Плюс три грабли, из-за которых самописный диагностический скрипт падает на чужом сервере. Семь рабочих скриптов внутри, копируются в SSMS как есть.

05.08.2026    1005    nedomolkov.ivan    8    

7

Администрирование СУБД Журнал регистрации Системный администратор Программист 1С 8.3 Бесплатно (free)

Журнал регистрации на нагруженной базе перестаёт открываться: файлы растут на гигабайты в день, просмотр виснет, история недоступна. Рассказываю, как мы вынесли журнал трёх продуктивных баз в ClickHouse: 35 млрд событий, поиск всех ошибок за сутки — 0,11 секунды, привычная форма журнала для пользователей и падение числа ошибок в проде в 23 раза за полгода. Архитектура, схема таблицы, грабли интеграции и все цифры с прода.

04.08.2026    1256    nedomolkov.ivan    0    

8

Администрирование СУБД 1С 8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

База 1С:ERP размером 646 Гб, полное маскирование за 5 часов - без создания промежуточной незащищенной копии. Разбираем бесплатный pg_anon на сквозном примере с реального продуктива.

27.07.2026    2463    Tantor    16    

13

HighLoad оптимизация Администрирование СУБД Программист Россия Бесплатно (free)

Если вы работаете с 1С на PostgreSQL и жалуетесь на тормоза — скорее всего, дело в join predicate pushdown, которого в стандартном PostgreSQL нет. В MS SQL Server этот механизм работает «из коробки», и при миграции именно запросы к виртуальным таблицам 1С бьют по производительности сильнее всего. В этой статье — реальный кейс от Postgres Professional с разбором плана выполнения, ручным экспериментом и доработкой планировщика СУБД, которая ускорила запросы от 22 до 54 000 раз.

16.06.2026    8819    postgres_professional    13    

12

HighLoad оптимизация Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Вышел релиз СУБД Tantor Postgres 18, и мы хотим рассказать о его новых возможностях для работы с приложениями на платформе "1С:Предприятие". В обзоре разберем улучшения планировщика, по традиции коснемся работы временных таблиц и не обойдем вниманием вспомогательные утилиты, которые упрощают поиск и диагностику проблем в высоконагруженных системах. За каждым пунктом - реальные запросы 1С, реальные рабочие базы и сотни часов тестирования!

16.06.2026    3362    Tantor    7    

10

Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Россия Бесплатно (free)

База 1С за несколько лет эксплуатации разрослась, - стала большой, медленно работает, требует много места и времени для копирования и прочего обслуживания. Нужна ли обязательно свертка или можно обойтись более «мягкими» средствами. Делюсь своим опытном как для новых конфигураций, так и для старых УПП, УТ 10…

01.06.2026    8064    2ncom    30    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 3300 15.02.24 10:13 Сейчас в теме
Будь проще, и люди к тебе потянутся.
Не знаю, как соотносится преамбула статьи к сути вопроса, но к оформлению явно нет. Мелкий сплошной шрифт, не скрины, а обрезки.
Как ни пиши инструкцию, всегда найдется повод ее дополнить.
Ну как-то так )))
2. SerVer1C 1121 15.02.24 11:13 Сейчас в теме
Вы с самого начала допустили большую ошибку, установив Постгрес на Венду.
zakiap; m_aster; nnstepan; andron77777; dsdred; +5 Ответить
3. 1CUnlimited 426 15.02.24 12:08 Сейчас в теме
(2) Мой опыт это не подтверждает. Я гонял тест Нагрузочный тест Postgresна сравнимом оборудовании windows vs unix
Принципиальной разницы не заметил. Каких то особых проблем по сравнению с linux (oracle linux 8) так же не нашел. Да и откуда им появится когда структура процессов в Postgres одинакова как на linux так и на windows.
А Windows еще долго пользоваться поскольку что либо на Windows развернуть проще из-за пресловутого Linux way Что такое linux way . Linux спроектирован для админа у которого много времени, а не для разработчика 1С которому нужно быстро поднять инфраструктуру для работы у клиента
4. starik-2005 3300 15.02.24 13:38 Сейчас в теме
(3)
что либо на Windows развернуть проще
Сомнительное утверждение. Что постгрес, что 1С, что большая часть всего другого в линухе ставится даже проще, чем в винде.
А по поводу скорости, то постгрес - это очень много файликов, с которыми NTFS не умеет хорошо работать. Как пример можно привести копирование той же конфигурации ЕДТ из одного каталога в другой. В винде прекрасно видно, как проседает скорость копирования, когда копируется очень много очень мелких файликов.
С другой стороны, 20% - это не так-то и просто заметить на глаз.
zakiap; Dach; nnstepan; +3 Ответить
5. insurgut 208 15.02.24 14:31 Сейчас в теме
Я скачал установщик с сайта 1С. Далее, далее, готово. Загрузил базу. Работает уже года три-четыре. Документы проводятся, базы обновляются. Ну да, может не высоконагруженные системы по сотни Гб, но тем не менее. Быстрее, гораздо быстрее, чем прочитать, например, эту статью о базовой конфигурации. Что я делаю не так? :)
6. 1CUnlimited 426 15.02.24 16:11 Сейчас в теме
(5) Все правильно делаете, Когда сели в машину и начали ехать можно не обращать внимание на тормоза, когда понадобится разберетесь если что ;) .
10. starik-2005 3300 16.02.24 18:38 Сейчас в теме
(5)
Что я делаю не так?
Я постоянно вижу, что у народа даже в MS SQL регламенты не работают, но им они и не нужны - у них весь товарооборот на один лист экселя влезет. Но в таком слвучае не ясно, зачем им SQL и клиент-сервер вообще - есть же веб-серверы, которые в сути своей сервер приложений 1С заменяют.
7. support 4484 16.02.24 09:41 Сейчас в теме
Спасибо, что делитесь своими знаниями и опытом!
1CUnlimited; +1 Ответить
8. redfred 16.02.24 12:13 Сейчас в теме
Инициализация базы без включения контрольных сумм - это намеренно сделано?
9. 1CUnlimited 426 16.02.24 12:23 Сейчас в теме
(8) Контрольные суммы выключены по умолчанию. Да и я пока не проверял сколько они отнимают по производительности для Highload. Postgres и так съедает больше ресурсов CPU по сравнению с MS SQL. Хотя конечно, для контроля целостности базы они нужны поскольку у Postgres с этим не очень.
11. capitan 2475 19.02.24 21:48 Сейчас в теме
Видел эту статью на Хабре 27 ноября 2023
Комментарий тот же
Вспоминается...
Алло, это больница?! Да Я сейчас съел полбанки селедки с огурцом и запил молоком Клубнику мыть, или это уже неважно?
Сдается мне если Postgres поставить под винду, то остальное уже не важно как настраивать, достаточно взять настройки например с сайта PgTune
12. 1CUnlimited 426 20.02.24 23:16 Сейчас в теме
(11) Реальность в холиваре windows vs linux бывает субьективной и объективной. Объективная подтверждается синтетическими тестами - ну не вижу я на своих синтетических тестов существенной разницы для Postgres.
В общем то я ответил там https://habr.com/ru/articles/776536/comments/#comment_26201940 но диалог развития не получил.
Сделайте свой синтетический тест покажите что Postgres over windows это плохо. Так сказать добейте его , всеравно windows под импортозамещение пойдет в сторону Linux по крайней мере на серверной части на ближайший солнечный цикл.

P S Я если честно после плясок с отключением обновлений вокруг нового ноута с Win11 готов импортозаместится на стабильную сборку Linux лишь оно принудительно не обновлялось. Удерживает только уровень офисного софта под Linux,формально он вроде повторяет функции но по факту Linux way
13. capitan 2475 21.02.24 09:24 Сейчас в теме
Вспоминается...
В пути у дамы поломалась машина. Она останавливает такси и просит водителя помочь ей. Таксист лезет под капот, дама интересуется:
- Ну как, большая поломка?
- Мадам, если бы это была лошадь, то я бы посоветовал ее пристрелить.


(12)
Postgres over windows это плохо

Не плохо, а медленно. Это разные вещи.
Для дома, для семьи пойдет
Но тогда и тюнить его я с такой яростью нет смысла. Можете своими же синтетическими или какими угодно тестами это проверить.
Поставьте постгреспро с настройками из коробки и попробуйте своим тюнингом выйграть у него хотя бы 15-20%
А не ввязываюсь в спор я по той простой причине, что windows убил себя сам
Дело даже не в санкциях
Последние лет 20 мелкомягкие занимаются только тем что перепрятывают кнопку Пуск, а могли бы сделать новую производительную файловую систему например
Итог - рынок смартфонов, рынок планшетов, рынок браузеров начисто проигран, рынок веб серверов нет смысла говорить, рынок СУБД сейчас уже 50/50, остается пролопатить рынок десктопов
Поэтому если вы пиратите windows для установки Postgres то лучше пристрелите ее
14. 1CUnlimited 426 21.02.24 14:08 Сейчас в теме
(13)
Поставьте постгреспро с настройками из коробки и попробуйте своим тюнингом выйграть у него хотя бы 15-20%

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

В отличии от того же MS SQL где достаточно одним флагом обойтись T2371 для более частого обновления статистики, и сосредоточится на других вопросах.

Попробуйте
а) Просто подвигайте итоги взад вперед при настройках вакуума по умолчанию . (пример тут https://infostart.ru/1c/articles/1912525/ очень частый кейс по закрытию месяца )
б) Или без synchronous commit=off перепроведение с 20 параллельных процессов.

Это сэкономит время на последующие поиски объяснений - почему один и то же запрос случайным образом показывает разную производительность

Последние лет 20 мелкомягкие занимаются только тем что перепрятывают кнопку Пуск, а могли бы сделать новую производительную файловую систему например
Итог - рынок смартфонов, рынок планшетов, рынок браузеров начисто проигран, рынок веб серверов нет смысла говорить, рынок СУБД сейчас уже 50/50, остается пролопатить рынок десктопов

Вы невнимательно за потенциальным противником следите. Они во первых уже основные доходы получают от облака и его экосистемы технологий
https://www.finam.ru/publications/item/microsoft-otchitalas-o-rekordnykh-pokazatelyakh-za-1-kvartal-20231025-1240/
более 50%
во вторых даже наглая функция принудительных обновлений , это часть стратегии загона всех в цифровую тюрьму или Windows as service
https://learn.microsoft.com/en-us/windows/deployment/update/waas-overview
понятно большинство свободных граждан на западе сделает правильный однозначный выбор. А бизнес они пока боятся вести в загон, поскольку у него больше возможностей
Для отправки сообщения требуется регистрация/авторизация