PostgreSQL и Linux для «1С:Предприятие-8»

02.06.25

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

Преимущества использования PostgreSQL как объектно-реляционной СУБД и Linux в качестве операционной системы сервера

     Меня зовут Валерий, разработчик 1С в Programming Store.

 

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

 

Содержание:

1. Вводная часть:  

1.1. PostgreSQL и Linux при развертывании «1С:Предприятия».

1.2. Почему PostgreSQL.

1.3. Почему Linux.

2. Требования.

3. Установка.

4. Особенности настройки.

5. Фишки.

6. Возможные ошибки.

7. Что еще почитать.

 

 

PostgreSQL и Linux при развертывании «1С:Предприятия»

С каждым годом всё больше компаний переходят на использование открытых технологий, особенно в сфере автоматизации бизнеса.

Одним из наиболее популярных решений становится связка PostgreSQL (в качестве СУБД) и Linux (в качестве операционной системы сервера) при развертывании «1С:Предприятия».

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

Единственный минус — более высокие требования к квалификации специалистов по настройке и поддержке сервера СУБД.

 

Почему PostgreSQL

PostgreSQL — это мощная объектно-реляционная СУБД с открытым исходным кодом, которая хорошо подходит для задач «1С:Предприятия».

Основные преимущества:

- совместимость с 1С: с 2011 года PostgreSQL официально поддерживается как рекомендованная СУБД. Используются специальные сборки PostgreSQL от 1С или Postgres Professional;

- производительность: высокая скорость обработки транзакций, конкурентный доступ благодаря MVCC, поддержка больших объёмов данных, гибкая настройка под различные сценарии использования;

- расширяемость: поддержка расширений (pg_stat_statements, auto_explain), интеграция с внешними системами через FDW, REST и другие механизмы.

 

Почему Linux

Использование Linux в связке с PostgreSQL и 1С даёт следующие преимущества:

- надёжность и стабильность: долговременная работа серверов, отказоустойчивость при грамотной настройке RAID, LVM, мониторинга;

- безопасность: гибкая настройка прав, SELinux, встроенные механизмы контроля;

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

 

Требования

- PostgreSQL версии 9.6 или выше. Лучше использовать сборку от 1С или Postgres Professional.

- Поддерживаемые ОС: CentOS, Red Hat, Ubuntu, Debian, РЕД ОС.

- Минимальные системные требования: 8 ГБ ОЗУ, SSD-диски, многоядерный процессор.

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

 

Установка

Пример установки PostgreSQL на Ubuntu:

1. Добавление репозитория:

   wget https://repo.postgrespro.ru/1c-16/keys/pgpro-repo-add.sh
   sh pgpro-repo-add.sh

2. Установка:

apt install postgrespro-1c-16

3. Проверка локали:

 locale

Должно быть ru_RU.UTF-8

4. Инициализация кластера:
 

 initdb -D /opt/pgpro_data --data-checksums --encoding=UTF8 --locale=ru_RU.UTF-8 --lc-collate=ru_RU.UTF8 --lc-ctype=ru_RU.UTF-8 --lc-messages=C

5. Запуск и автозагрузка:

 systemctl enable --now postgrespro-1c-16

 

 

Особенности настройки

После установки важно правильно настроить PostgreSQL:

- Файл pg_hba.conf (сетевой доступ):

 host all all 192.168.1.0/24 md5

- Основные параметры postgresql.conf:

  shared_buffers = 2GB — кэш СУБД (25–40% от ОЗУ)

  work_mem = 64MB — объём памяти на сортировки (зависит от числа пользователей)

  effective_cache_size = 6GB — размер кэша ОС (50–70% от ОЗУ)

  maintenance_work_mem = 512MB — обслуживание: VACUUM, CREATE INDEX и т. д.

  autovacuum = on — автоматическая очистка таблиц

  max_connections = 200 — максимальное количество подключений

Настройки лучше размещать в конце файла postgresql.conf для удобства. После изменений выполните перезапуск:

sudo service postgresql restart

 

Фишки

- Использовать отдельный инстанс PostgreSQL для каждой базы 1С: это упростит обслуживание и устранение проблем.

- Использовать мониторинг: Prometheus, Grafana, Zabbix, ELK, pg_stat_statements, auto_explain.

- Регулярно делать бэкапы: pg_basebackup, pgBackRest, barman.

- Совместимость с CI/CD-средами: автоматизация развертывания и тестирования.

 

Возможные ошибки

Медленная работа пользователей:

- причины: неработающий autovacuum, нехватка памяти, неэффективные запросы;

- решение: настройка autovacuum, анализ pg_stat_statements и auto_explain.

 

Ошибка подключения из 1С:

- причины: PostgreSQL не запущен, заблокирован порт, неверные учётные данные подключения;

- решение: проверить запущены сервисы и настройки firewall;

 

Ошибка «deadlock detected»:

- причина: ошибка в транзакционной логике в коде 1С;

 

Ошибка «out of shared memory» или «too many clients»:

- причина: превышен max_connections или утечка соединений с внешними клиентскими ПО;

- решение: увеличить лимит и настроить pgbouncer.

 

Резкое увеличение размера базы:

- причины: неэффективный autovacuum, много старых WAL-файлов;

- решение: сделать настройки более «агрессивными», autovacuum_vacuum_threshold, autovacuum_vacuum_scale_factor. Регулярно выполнять VACUUM FULL, REINDEX.

 

Ошибка записи: «could not write to file», «no space left on device»:

- причина: переполнение диска;

- решение: удалить/архивировать старые WAL-файлы, расширить хранилище.

 

Общие рекомендации:

- использовать pg_stat_statements для анализа производительности;

- настроить мониторинг (Grafana, Zabbix);

- использовать пул соединений (pgbouncer);

- проводить регулярное обслуживание  (VACUUM, REINDEX);         

- вести логирование длительных операций (log_min_duration_statement).

 

 

Что еще почитать 

1. Официальный сайт PostgreSQL 

2. Документация Postgres Professional

3. Документация по pg_stat_statements

4. Документация по auto_explain

5. Руководство по Grafana и Prometheus

6. Документация по Zabbix

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

PostgreSQL СУБД Linux «1С:Предприятия»

См. также

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

1С:Управление ландшафтом – это инструмент, способный объединить десятки разрозненных систем, серверов и баз данных в единое управляемое пространство, где установка, обновление, администрирование и контроль за инфраструктурой 1С происходят из одной точки, а рутинные задачи решаются за пару минут. Расскажем о том, как сделать свой ИТ-ландшафт управляемым.

23.10.2025    2293    user2169944    0    

12

Linux Системный администратор Бесплатно (free)

Есть великолепная инструкция по сборке постгреса из сорцов от Алмаза Шарипова https://almaz-sharipov.ru/article/linux-1c/pg1c, низкий ему поклон. Но с июня 2025 у 1С что-то внутре cломалось: ейные девопсы затупили и вендор начал выкладывать архив с битым файлом dsc.

10.10.2025    1417    Cocky_Idiot    7    

8

Администрирование СУБД Программист 1С v8.3 Россия Бесплатно (free)

Ошибка реструктуризации: "Запись не найдена в менеджере имен баз данных". Диагностика и решение проблемы.

22.08.2025    2038    a13k55    0    

17

Информационная безопасность Администрирование СУБД Системный администратор Бесплатно (free)

Рассказываем о безопасной и удобной организации доступа к кластеру 1С для всей ИТ-команды с помощью централизованного приложения управления. Автор показывает, как настроить разграничение прав, избежать типичных уязвимостей и эффективно управлять сеансами, не рискуя целостностью системы. Особое внимание уделено работе с объектной моделью 1С, прерыванию тяжелых запросов и диагностике проблем через технологический журнал.

11.08.2025    2846    evvakra    4    

9

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

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

28.07.2025    1693    aidar_safin    3    

8

Администрирование веб-серверов Linux Системный администратор Программист 1С v8.3 Бесплатно (free)

Проблема: При переходе с Windows на Linux многие сталкиваются с затруднениями при настройке аутентификации ОС в веб-клиенте 1С через Apache 2.4 (Debian). Решение: Команда Magnit Tech (Центр экспертизы 1С и Сопровождение 1C) разработала готовую инструкцию по настройке веб-клиента 1С на Debian 12 с поддержкой как Windows, так и Linux-серверов. Экономьте время — внедряйте проверенное!

25.07.2025    4196    biryukmikh    30    

24

Linux Системный администратор Бесплатно (free)

Благодаря Ansible процесс развертывания и тонкой настройки сервера 1С на Linux можно полностью автоматизировать. В статье расскажем, как с помощью Ansible-плейбуков быстро и без ошибок подготовить инфраструктуру для работы 1С:Предприятие. Разберемся, как подготовить WSL для локального тестирования Ansible-сценариев перед их запуском на реальных серверах. Рассмотрим автоматизированное создание виртуальных машин с помощью Ansible, которое значительно ускоряет развертывание инфраструктуры. На практическом примере покажем, как дорабатывать роли в плейбуках для адаптации под конкретные задачи. Уделим внимание оптимизации Linux-сервера для 1С: настройке ОС, установке необходимых зависимостей и параметров для стабильной работы. Разберем процесс установки платформы 1С, настройки службы и логирования, а также интеграцию систем мониторинга (Zabbix и других) для контроля состояния сервера в реальном времени.

23.07.2025    2041    aidar_safin    0    

12

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

Сегодня мы проведем обзор изменений, касающихся работы с высоконагруженными системами 1С. Новый релиз предлагает не просто несколько точечных исправлений, а целый арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Спектр улучшений распространился на многие ключевые узлы производительности от оптимизации работы с временными таблицами и сложными запросами RLS (row-level security) до ускорения критически важных процессов наподобие «Закрытия месяца». Обо всем этом и пойдет речь в статье.

22.07.2025    4578    Tantor    9    

10
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 992 02.06.25 13:33 Сейчас в теме
похоже на рекламный проспект
2. RocKeR_13 1457 02.06.25 13:39 Сейчас в теме
3. paulwist 03.06.25 08:09 Сейчас в теме
Использовать отдельный инстанс PostgreSQL для каждой базы 1С


Нет слов, ... всем "фишкам" фишка :) :) :)

PS я не понял, это плюс или минус ПГ :)
5. starik-2005 3198 03.06.25 13:40 Сейчас в теме
(3)
Нет слов, ... всем "фишкам" фишка :) :) :)
Кстати, чем плохо? По мне так единственная полезная вещь в тексте )))
6. paulwist 03.06.25 15:20 Сейчас в теме
(5)
Кстати, чем плохо? По мне так единственная полезная вещь в тексте )))


Нуу, сегодня на форуме был пост про Restore с 39 БД 1C, те в парадигме ТСа, надо иметь 39 инстансов, ...

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

С точки зрения "работоспособности", говорит, что ПГ не такая уж

PostgreSQL и 1С даёт следующие преимущества:

- надёжность и стабильность:


раз надо страховаться таким способом :)
7. starik-2005 3198 03.06.25 15:38 Сейчас в теме
(6)
те в парадигме ТСа, надо иметь 39 инстансов
Раз у чела столько баз, то, возможно, и система такая, что пару терабайт памяти. А там что один инстанс, что 40 - особой разницы нет в части потоков. Именно из-за этого 1С предлагает ставить параллелизм в мелкомягких скулах в единицу - чтобы на одного юзера один поток был. А раз юзеров много, то и потоков будет столько, сколько юзеров. А разделить инстансы - следующий шаг, где в одном изолированном процессе будут изолированно порождать потоки изолированные юзеры. Ничем не плохо.
8. paulwist 03.06.25 16:05 Сейчас в теме
(7)
А там что один инстанс, что 40 - особой разницы нет в части потоков.


Хех, служебные потоки каждого инстанса не считаем?? :)

(7)
Именно из-за этого 1С предлагает ставить параллелизм в мелкомягких скулах в единицу - чтобы на одного юзера один поток был


Хм, 1С объясняет это по другому, мол при max degree of parallelism = 1 при кривых планах/запросах будут тормоза только у одного юзера, а не у всех одновременно.

(7)
А разделить инстансы - следующий шаг, где в одном изолированном процессе будут изолированно порождать потоки изолированные юзеры.


Видел это для БД с десятками/сотнями млрд записей в таблицах (1 инстанс = 1 БД), либо в OLTP 1000-10000 транзакций в секунду, но это не про 1С.
9. starik-2005 3198 03.06.25 16:27 Сейчас в теме
(8)
служебные потоки
Служебные потоки ща живут, через секунду нет. Они там постоянно флуктуируют, как квантовые эффекты на горизонте событий сферы Шварцшильда.
будут тормоза только у одного юзера, а не у всех одновременно
Ну вот, отличное объяснение. Чем тебе не нравится?
но это не про 1С
Да вообще хайлоад не про 1С. В нее надо уже сгруппированные данные тащить - синтетику, и все будет ОК. Ну если там действительно миллиарды. А если сотни, то и пофиг.
10. paulwist 04.06.25 09:02 Сейчас в теме
(9)
Служебные потоки ща живут, через секунду нет. Они там постоянно флуктуируют, как квантовые эффекты на горизонте событий сферы Шварцшильда.


Что-то мне подсказывает, что 40 инстансов генерят в 40 раз больше потоков чем один инстанс.

(9)
Ну вот, отличное объяснение. Чем тебе не нравится?


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

(9)
В нее надо уже сгруппированные данные тащить - синтетику, и все будет ОК.


Опять же, будет ОК если

(9)
А если сотни, то и пофиг.
12. RocKeR_13 1457 05.06.25 09:59 Сейчас в теме
(6)
Нуу, сегодня на форуме был пост про Restore с 39 БД 1C, те в парадигме ТСа, надо иметь 39 инстансов, ...

Выше выкладывал весьма полезные видео про PostgreSQL - если посмотрите, то получите исчерпывающий ответ на вопрос о количестве экземпляров Postgre)
4. 2tvad 74 03.06.25 10:06 Сейчас в теме
И в докер разместить или k8s)
11. alexey_kurdyukov 186 05.06.25 05:13 Сейчас в теме
Пишите честно: "использовать постгрес и Линукс нужно потому, что нет вообще никаких альтернатив", вот и всё, это теперь наша печальная реальность.
13. starik-2005 3198 08.10.25 18:50 Сейчас в теме
(11)
печальная
За всех не говори. Когда латыши пилили скайп, то они взяли постгрес и мутнули там 20к rps. У яху была самая большая база для своего времени, она тоже крутилась на постгресе.

Кто не хочет - ищет причины, кто хочет - возможности.
14. alexey_kurdyukov 186 18.10.25 06:31 Сейчас в теме
(13) "расслабься и получай удовольствие"
15. starik-2005 3198 19.10.25 00:36 Сейчас в теме
(14)
"расслабься и получай удовольствие"
Прям еврокомиссия вспоминается с фондерляйн)))
16. alexey_kurdyukov 186 24.10.25 05:32 Сейчас в теме
(15) Не знаю, что такое, не был
17. starik-2005 3198 24.10.25 14:51 Сейчас в теме
(16)
Не знаю
Я тут интереса заради попытался мутнуть с постгресом в скорость на линухе своем, а то уже привык, что у всех там 80+. Ну пошел в гуглы, почитал статьи, и вот, пожалуйста, в линухе постгрес прям вот 100+ набрал.

ЗЫ: у Гилева новый тест. Красивое, но качатеся только с телеги. И да, fsync не отключал.
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация