Миграция на PostgreSQL с Oracle и MS SQL

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

Оценка переноса — от 150 000 ₽Типовая база — 1–3 месяцаРаботаем по NDA

Кому подходит

Проверьте, ваш ли это случай

Срок миграции определяет не объём данных, а объём логики в процедурах. Правая колонка — про случаи, где мы не поможем.

Подходит, если

  • Стоит Oracle или MS SQL и надо уйти к сроку
  • Логика частично живёт в хранимых процедурах
  • Есть тестовый контур или его можно поднять
  • Готовы к параллельному периоду и сверке данных
  • Нагрузку можно измерить и воспроизвести

Не подходит, если

  • Никто не знает, какие приложения ходят в базу
  • Нужен перенос за неделю без тестового контура
  • Бюджет меньше 150 000 ₽ на оценку
  • Требуется поддержка проприетарных функций, аналога которым нет, а переписывать логику вы не готовы
  • Нужна аттестация или лицензируемые работы
Проблема и решение

Что болит и что мы делаем

Знакомые сложности

  • Лицензии закончились, продлить их нельзя
  • Половина логики в хранимых процедурах, и никто не знает их целиком
  • Приложения ходят в базу напрямую, список неизвестен
  • Прошлая попытка миграции остановилась на несовместимости типов
  • Непонятно, выдержит ли PostgreSQL вашу нагрузку

Что мы делаем

  • Инвентаризируем схему, объекты, задания и всех, кто ходит в базу
  • Оцениваем совместимость и объём переписывания до начала работ
  • Переносим схему и логику, автоконвертацию проверяем руками
  • Гоняем нагрузку на тестовом контуре и настраиваем под неё
  • Держим параллельный период с двусторонней сверкой данных
Результат

Что вы получите на выходе

Предметы, которые можно проверить на приёмке, а не прилагательные в отчёте.

Отчёт по совместимости

Что переносится автоматически, что придётся переписать и сколько это займёт.

2–3 недели

Перенесённая схема и логика

Таблицы, индексы, процедуры, триггеры, задания на тестовом контуре.

4–8 недель

Результаты нагрузочных проверок

Сравнение времени отклика на ваших запросах до и после.

по этапу

Протокол сверки данных

Контрольные суммы по таблицам и выборочная сверка записей.

перед переключением

План переключения и отката

Пошаговый регламент с точкой возврата.

к переключению

Инструкции для администраторов

Резервное копирование, мониторинг, обслуживание.

к сдаче
Процесс

Как идёт работа

Недели 1–3 — Инвентаризация и оценка

Схема, объекты, потребители, нагрузка. На выходе — отчёт по совместимости и оценка.

Недели 3–8 — Перенос на тестовый контур

Схема, данные, логика, права. Ручная проверка всего, что сконвертировалось автоматически.

Недели 8–10 — Нагрузка и настройка

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

Недели 10–12 — Параллельный период

Работа на двух базах, сверка, разбор расхождений.

Переключение

По регламенту, с точкой отката и дежурством в первые дни.

Как устроено

Как идёт перенос базы

Данные — самая простая часть. Время уходит на логику и на доказательство, что не стало медленнее.

ТЕСТОВЫЙ, ЗАТЕМ БОЕВОЙ КОНТУРСНАРУЖИИнвентаризацияСхема, процедуры,задания, потребителиПереносСтруктура, данные,логика, праваотчёт о совместимостиНагрузкаПрофиль запросов,планы, индексыпрофиль запросовСверкаКонтрольные суммы ивыборочная проверкапротоколСтарая СУБДРаботает до конца параллельногопериодаПриложенияПравим там, где синтаксиснесовместимпереключение по регламентуАвтоконвертация переносит синтаксис, а не смысл: каждая процедура читается руками.
Третий блок обязателен: без замера до переноса нечем доказать, что после переноса стало не хуже.
Цены

Два шага, две цены

Цены ориентировочные и не являются офертой: точную назовём после разбора задачи.

Что сравниваем
Оценка переноса
Полная миграция
Цена
Оценка переноса150 000 – 400 000 ₽
Полная миграцияот 900 000 ₽
Срок
Оценка переноса2–3 недели
Полная миграция1–3 месяца
Что входит
Оценка переносаИнвентаризация, отчёт по совместимости, оценка объёма
Полная миграцияПеренос схемы и логики, нагрузка, сверка, переключение
Что на выходе
Оценка переносаПонимание объёма и рисков до начала работ
Полная миграцияБаза работает на PostgreSQL, старая остаётся точкой отката
Кому подходит
Оценка переносаКогда надо решить, идти ли в миграцию
Полная миграцияКогда решение принято
Заявка

Разберём вашу задачу за 40 минут

Созвон с повесткой: что за задача, какие ограничения контура, объём работ и числа, по которым вы будете принимать результат.

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Честно

Где такие проекты ломаются

Три причины, по которым миграция затягивается вдвое против оценки.

Доверились автоконвертации

Конвертер переносит синтаксис, но не смысл. Каждую сконвертированную процедуру надо прочитать руками — мы это закладываем в срок.

Не измерили нагрузку до переноса

Без базового замера невозможно доказать, что стало не хуже. Мы снимаем профиль запросов заранее.

Переключились без точки отката

Старая база должна оставаться рабочей до конца параллельного периода. Иначе первая же проблема становится аварией.

Вопросы

Частые вопросы

Сколько стоит миграция на PostgreSQL?

Оценка — от 150 000 ₽, полный перенос — от 900 000 ₽. Цена зависит от объёма логики в хранимых процедурах и числа потребителей базы.

Сколько это занимает?

Типовая база — один-три месяца вместе с параллельным периодом. Основное время уходит не на данные, а на логику.

Работа встанет на время переноса?

Нет. Перенос идёт на тестовом контуре, боевая база продолжает работать. Останавливаемся только на само переключение.

Что делать с хранимыми процедурами?

Переносим и переписываем там, где нет аналога. Объём становится известен на этапе оценки, до подписания основного договора.

Какие версии PostgreSQL вы ставите?

Обычную или сертифицированную сборку — в зависимости от ваших требований к реестру и поддержке.

Смежное

Что посмотреть рядом