Переезд 1С с MS SQL на PostgreSQL и Linux: план и риски
Связка «1С + Microsoft SQL Server + Windows Server» десятилетиями была стандартом для компаний, которые выросли из файловой базы. С 2022 года Microsoft приостановил продажи новых лицензий в России, обновления и поддержка стали проблемными, а для государственных компаний, субъектов критической инфраструктуры и многих их подрядчиков требования импортозамещения сделали переход обязательным. В 2026 году вопрос «переезжать ли на PostgreSQL» для большинства компаний сменился вопросом «как переехать и не остановить бухгалтерию на неделю».
Ниже — практический план миграции для компании среднего размера: от инвентаризации до переключения пользователей, с оценкой рисков производительности, сроков и бюджета. Технические детали зависят от конфигурации и объёма базы, поэтому это план для руководителя и ИТ-ответственного, а не пошаговая инструкция для администратора.
Зачем переезжать
| Причина | Кого касается | Насколько срочно |
|---|---|---|
| Требования импортозамещения и безопасности для госкомпаний и КИИ | Госсектор, компании с госучастием, субъекты КИИ и часть их подрядчиков | Обязательно, по срокам регуляторов |
| Невозможность легально докупить лицензии MS SQL и Windows Server | Компании, которые растут и добавляют пользователей или серверы | Высокая при росте |
| Отсутствие обновлений безопасности для устаревших версий | Все, у кого старые версии ОС и СУБД | Высокая: уязвимости не закрываются |
| Стоимость владения | Все | Средняя: PostgreSQL бесплатен, коммерческие сборки дешевле MS SQL |
| Унификация инфраструктуры на Linux | Компании, переводящие другие сервисы на Linux | Средняя |
Какие варианты СУБД есть для 1С
Платформа «1С:Предприятие» официально поддерживает PostgreSQL, но не любой: используются сборки с доработками, учитывающими особенности работы 1С. На практике выбирают из трёх вариантов.
| Вариант | Что это | Когда подходит |
|---|---|---|
| PostgreSQL в сборке от 1С | Бесплатная сборка с патчами для 1С, распространяется фирмой «1С» | Небольшие и средние базы, нет требований к сертификации |
| Postgres Pro Standard или Enterprise | Коммерческая российская СУБД на основе PostgreSQL с поддержкой вендора | Крупные базы, нужна поддержка и расширенные функции |
| Сертифицированные версии российских СУБД | Сборки с сертификатами ФСТЭК | Госсектор, КИИ, требования к защите информации |
Операционная система для сервера — российские дистрибутивы Linux или распространённые дистрибутивы, поддерживаемые платформой. Если у вас есть требования к сертификации, выбор ОС и СУБД определяется ими.
Главный риск: производительность
Чаще всего после переезда жалуются, что «стало медленнее». Причина не в том, что PostgreSQL хуже, а в том, что конфигурации и запросы годами оптимизировались под MS SQL, а настройки сервера после установки оставили по умолчанию. Узкие места известны:
- Настройки сервера по умолчанию. Параметры памяти, параллелизма и журнала PostgreSQL нужно настроить под объём базы и нагрузку; значения из коробки рассчитаны на скромный сервер.
- Тяжёлые запросы в доработках. Самописные отчёты и обработки с неоптимальными запросами, которые на MS SQL выполнялись терпимо, могут резко замедлиться.
- Временные таблицы и сложные соединения. Часть типовых конструкций исполняется иначе; их выявляют на нагрузочном тесте.
- Обслуживание. В PostgreSQL важна регулярная очистка и обновление статистики; без регламентного обслуживания база постепенно деградирует.
- Дисковая подсистема. Медленные диски, которые не были заметны на MS SQL с большим кешем, становятся узким местом.
План миграции
| Этап | Что делаем | Срок для средней базы |
|---|---|---|
| 1. Инвентаризация | Список баз, конфигураций, доработок, внешних обработок, интеграций, пользователей; объём баз | 1 неделя |
| 2. Стенд | Сервер Linux с PostgreSQL, сервер 1С, тестовый перенос копии базы | 1 неделя |
| 3. Тестирование функций | Проверка ключевых операций: проведение, закрытие месяца, отчёты, обмены, печатные формы | 1–2 недели |
| 4. Нагрузочный тест и оптимизация | Замеры, настройка СУБД, переписывание тяжёлых запросов в доработках | 1–3 недели |
| 5. Проверка интеграций | Обмены с сайтом, CRM, банком, ЭДО, маркетплейсами | 1 неделя |
| 6. Переключение | Финальный перенос в выходные, проверка, переключение пользователей | 1–2 дня |
| 7. Сопровождение | Мониторинг производительности, регламентное обслуживание, разбор жалоб | 2–4 недели |
Итого для компании с несколькими базами среднего объёма — обычно 1,5–3 месяца от старта до стабильной работы. Для крупных баз с большим количеством доработок и минимальным допустимым простоем используют перенос с синхронизацией данных: основная работа продолжается на старой системе, изменения догоняются на новой, а финальное переключение занимает часы.
Как переносить данные
- Выгрузка и загрузка информационной базы. Стандартный механизм платформы: выгружаете базу в файл и загружаете в новую базу на PostgreSQL. Подходит для небольших и средних баз; время зависит от объёма.
- Утилиты командной строки платформы. Позволяют автоматизировать перенос и выполнять его без интерактивного клиента.
- Перенос с синхронизацией. Для крупных баз: первоначальная копия плюс догоняющая синхронизация изменений, чтобы окно простоя было минимальным.
Интеграции: где обычно ломается
Сама 1С после переноса обычно работает, а ломается то, что вокруг неё. Внешние программы, которые подключались к базе MS SQL напрямую, минуя 1С, — отчёты в BI, скрипты выгрузки, самописные обмены. Всё, что читало таблицы SQL Server напрямую, придётся переписать: структура хранения и драйверы другие. Правильный путь — переводить такие интеграции на программный интерфейс 1С (HTTP-сервисы, OData, обмены через стандартные механизмы), а не на прямые запросы к новой СУБД. Как устроен обмен 1С с сайтом и CRM, мы разбирали в статье интеграция сайта и CRM с 1С.
Сколько это стоит
| Статья | Что входит | Комментарий |
|---|---|---|
| Работы специалистов | Администратор Linux и СУБД, программист 1С для доработок, тестирование | Основная часть бюджета; зависит от числа баз и доработок |
| Лицензии СУБД | Бесплатная сборка или коммерческая СУБД с поддержкой | Коммерческая обычно дешевле MS SQL сопоставимого уровня |
| Лицензии 1С | Серверная лицензия платформы | Проверьте, что ваша лицензия покрывает сервер на Linux |
| Оборудование | Быстрые диски, память | Часто достаточно существующего сервера после модернизации дисков |
| Обучение | Администраторы, которые раньше работали только с Windows | Не забудьте про регламентное обслуживание PostgreSQL |
Сравнить сценарии «оставить как есть и платить за риски» и «переехать» удобно на горизонте 3–5 лет: стоимость лицензий, простоя, обслуживания и рисков безопасности. Для оценки бюджета на доработки интеграций можно использовать наш калькулятор стоимости разработки.
Что ещё проверить при переезде
- Резервные копии. Новые средства копирования для PostgreSQL, новые скрипты, тестовое восстановление. Не переносите старую схему бэкапов механически — подробнее в статье невидимые резервные копии.
- Права доступа. Учётные записи СУБД, доступ к серверу, удалённое администрирование только через VPN.
- Мониторинг. Нагрузка, длительные запросы, блокировки, место на диске.
- Клиентские места. Если вместе с сервером переводите на Linux и рабочие места, проверьте торговое оборудование, криптопровайдеры, ЭДО и банк-клиенты: с ними чаще всего возникают сложности.
Частые ошибки
- Перенести базу в пятницу вечером без нагрузочного теста.
- Оставить настройки PostgreSQL по умолчанию.
- Забыть о прямых SQL-подключениях внешних систем к базе.
- Не предупредить бухгалтерию и не выбрать время вне закрытия периода и отчётности.
- Не сохранить старую систему в рабочем состоянии на случай отката хотя бы на месяц.
Чек-лист нагрузочного теста перед переключением
Нагрузочный тест — единственный способ узнать о проблемах производительности до того, как о них узнает бухгалтерия. Его не нужно делать сложным: достаточно воспроизвести на тестовом стенде типичный рабочий день и самые тяжёлые операции и сравнить время с текущей системой.
| Операция | Как проверить | Что сравнивать |
|---|---|---|
| Проведение типовых документов | Провести пакет из 100–500 документов | Время на старой и новой системе |
| Закрытие месяца | Выполнить на копии базы за прошлый месяц | Время и отсутствие ошибок |
| Тяжёлые отчёты | Сформировать 5–10 самых используемых отчётов | Время формирования |
| Обмены | Запустить обмены с сайтом, CRM, банком | Время и корректность данных |
| Одновременная работа | Несколько пользователей проводят документы одновременно | Блокировки и ожидания |
| Регламентные задания | Запустить ночные задания | Укладываются ли в ночное окно |
Если какая-то операция стала медленнее более чем в полтора-два раза, разбирайте её до переключения: смотрите план запроса, настройки сервера, индексы, код доработки. После оптимизации прогоните тест повторно.
Если вы планируете переезд и вам нужны интеграции 1С с сайтом, CRM или собственными сервисами, переведённые на программный интерфейс, напишите нам. Мы делаем CRM и учётные системы и интеграции с 1С, а инфраструктуру сопровождаем в рамках технической поддержки. Общий план отказа от зарубежных зависимостей — в статье аудит зависимости от зарубежных сервисов.
Вопросы и ответы
Будет ли 1С на PostgreSQL работать медленнее?
При правильной настройке сервера и оптимизации тяжёлых запросов производительность для большинства задач сопоставима. Замедление обычно связано с настройками по умолчанию и неоптимальными доработками, которые выявляет нагрузочный тест.
Можно ли перенести базу без остановки работы?
Небольшие базы переносят за выходные. Для крупных баз используют перенос с синхронизацией изменений, при котором окно простоя сокращается до нескольких часов.
Нужно ли переводить рабочие места на Linux?
Не обязательно. Сервер можно перевести на Linux и PostgreSQL, а клиенты оставить на Windows. Перевод рабочих мест — отдельный проект с проверкой оборудования и программ.
Какую сборку PostgreSQL выбрать?
Для небольших и средних баз без требований к сертификации обычно подходит сборка с патчами от 1С. Для крупных баз и при требованиях регуляторов рассматривают коммерческие российские СУБД с поддержкой и сертификатами.
Можно ли вернуться на MS SQL, если что-то пойдёт не так?
Да, если старая система сохранена в рабочем состоянии и есть план отката. Держите её хотя бы месяц после переключения и заранее определите, при каких условиях вы откатываетесь.
Нужно ли переписывать доработки 1С при переходе на PostgreSQL?
Код на встроенном языке 1С обычно работает без изменений. Переписывать приходится тяжёлые запросы, которые медленно выполняются на новой СУБД, и внешние интеграции, обращавшиеся к базе MS SQL напрямую.
