Миграция с MS SQL на PostgreSQL: пошаговый гайд 2026
Как за 6–12 недель перенести корпоративную базу Microsoft SQL Server на PostgreSQL без потери данных и простоя — поэтапная методика, инструменты и чек-лист.
Уход Microsoft и рост стоимости лицензий сделали миграцию на PostgreSQL не опцией, а необходимостью. По данным ассоциации РУССОФТ, в 2024–2025 гг. на PostgreSQL перешли более 60% российских компаний, сохранивших корпоративные данные в MS SQL Server. Разбираем последовательный план миграции, который мы используем в проектах 1IT.
Этап 1. Инвентаризация и аудит нагрузки
Перед миграцией нужна полная карта: объём данных, количество таблиц и индексов, состав хранимых процедур, триггеры, функции, SQL Agent-задания, SSIS-пакеты. На этом этапе мы используем DMV-запросы и собственные скрипты, чтобы получить отчёт по размерам, плотности обращений и критичности каждого объекта.
- Размер БД и топ-20 таблиц по объёму.
- Список stored procedures с оценкой сложности переноса (T-SQL → PL/pgSQL).
- SQL Agent jobs, Service Broker, CLR — что требует замены.
- Интеграции: Reporting Services, Integration Services, внешние приложения.
Этап 2. Выбор стратегии — Babelfish или чистый PostgreSQL
Если приложений-потребителей много и их исходный код переписывать дорого, выбираем Babelfish for PostgreSQL — совместимость с TDS/T-SQL на 95%+ без изменения клиентов. Для новых сервисов и при серьёзной доработке логики — чистый PostgreSQL 16 с PL/pgSQL и использованием его преимуществ (JSONB, partitioning, MVCC).
Этап 3. Перенос схемы и данных
Связку pgloader + Ora2Pg (для смешанных сред) или собственные ETL-скрипты запускаем в две фазы: начальный bulk-трансфер и инкрементальная репликация через logical replication или Debezium CDC. Таймфрейм — от 2 до 8 часов для баз 200–500 ГБ.
- Перенос метаданных (DDL) с маппингом типов: NVARCHAR→TEXT, DATETIME→TIMESTAMPTZ, UNIQUEIDENTIFIER→UUID.
- Конвертация хранимых процедур и триггеров в PL/pgSQL (ручная ревизия обязательна).
- Первичная загрузка данных батчами по 100k–1M строк.
- Догоняющая репликация изменений с окна T-minus.
- Cutover в окно минимального трафика.
Этап 4. Тестирование и приёмка
Критерии приёмки: совпадение контрольных сумм по ключевым таблицам, прогон 100% регрессионных SQL-тестов, нагрузочное тестирование на продакшн-профиле, сверка отчётов за контрольный период.
Частые вопросы
Сколько стоит миграция с MS SQL на PostgreSQL?+
В 1IT проект миграции базы 100–500 ГБ с переносом 50–200 хранимых процедур стоит от 800 000 ₽ и выполняется за 6–10 недель.
Можно ли мигрировать без простоя?+
Да. Используем logical replication или Debezium CDC — downtime сводится к 15–30 минутам в момент финального переключения (cutover).
Что с Reporting Services и SSIS?+
SSRS заменяем на Apache Superset / Metabase. SSIS — на Airbyte, Airflow или собственный ETL на Python.
Нужна помощь по этой теме?
Обсудим задачу и предложим план за 24 часа. Работаем с компаниями из России и СНГ с 1999 года.
Похожие материалы
Импортозамещение ПО в 2026: что выбрать вместо западных решений
Список проверенных российских аналогов Microsoft, Oracle, VMware, Atlassian — с ценами, статусом в реестре Минцифры и кейсами внедрения.
ЧитатьDevOps в российских реалиях 2026: Docker, Kubernetes и альтернативы
Стек DevOps, который работает в России в 2026: GitLab self-hosted, Deckhouse, собственные registry и инструменты мониторинга.
ЧитатьМиграция с AWS на Yandex Cloud: план действий
Матрица сервисов AWS ↔ Yandex Cloud, типовые сроки миграции и чек-лист этапов для приложений масштаба enterprise.
Читать