Первый · ИТ · Альянс
Перейти к основному содержимому
К списку материалов
PostgreSQL
14 февраля 2026 г. 9 мин чтения

Миграция с MS SQL на PostgreSQL: пошаговый гайд 2026

Как за 6–12 недель перенести корпоративную базу Microsoft SQL Server на PostgreSQL без потери данных и простоя — поэтапная методика, инструменты и чек-лист.

PostgreSQL MS SQL миграция импортозамещение

Уход 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 ГБ.

  1. Перенос метаданных (DDL) с маппингом типов: NVARCHAR→TEXT, DATETIME→TIMESTAMPTZ, UNIQUEIDENTIFIER→UUID.
  2. Конвертация хранимых процедур и триггеров в PL/pgSQL (ручная ревизия обязательна).
  3. Первичная загрузка данных батчами по 100k–1M строк.
  4. Догоняющая репликация изменений с окна T-minus.
  5. 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 года.