Migsoft
0

Миграция с Oracle на PostgreSQL: план, инструменты, цена

Миграция с Oracle на PostgreSQL — не прыжок в неизвестность, а управляемый проект с типовыми этапами: аудит, конвертация схемы и кода, перенос данных, тестирование, параллельная эксплуатация. Главное решение принимается в самом начале: переносить на бесплатный PostgreSQL или на Postgres Pro Enterprise, где привычная Oracle-специфика — пакеты PL/SQL, UTL_HTTP, DBMS_LOB — работает штатно.

Виталий Куренков
Менеджер Мигсофт: подбор и поставка российского ПО для юрлиц и госкомпаний
14 августа 2026 · 8 минут чтения
Содержание

Oracle и MS SQL в российских компаниях продолжают работать — но продлевать поддержку напрямую больше нельзя, а каждая новая ИТ-система на них увеличивает будущий объём переноса. Поэтому миграция с Oracle на PostgreSQL из «когда-нибудь» превратилась в плановый проект: у неё есть отработанный жизненный цикл, зрелые инструменты автоматизации и понятная экономика. Эта статья — план такого проекта глазами заказчика, а не инженера: что чем заменяется, из каких этапов состоит переход, где съедается больше всего времени и денег и сколько стоят лицензии целевой СУБД.

Чем заменить Oracle-специфику: короткий ответ

Самая дорогая часть миграции — не данные, а хранимая логика: пакеты PL/SQL, системные пакеты, работа с большими объектами. Именно здесь решается выбор целевой СУБД. Ниже — соответствия по официальной матрице возможностей Postgres Pro:

Что используется в Oracle Ванильный PostgreSQL Postgres Pro Enterprise
Пакеты PL/SQL Нет — код раскладывается по схемам и переписывается Пакеты PL/pgSQL: CREATE PACKAGE, глобальные переменные, приватные подпрограммы
Системные пакеты UTL_HTTP, UTL_MAIL, UTL_SMTP Нет Встроенные utl_http, utl_mail, utl_smtp — API почти полностью совпадает с Oracle
DBMS_APPLICATION_INFO Нет Расширение pgpro_application_info: метрики сессий в представлениях v$session и v$session_longops
DBMS_LOB и внешние файлы BFILE Пакета нет; свои Large Objects с другим API Пакет dbms_lob, внешние файлы pgpro_bfile, хранилище Superfile для больших объектов
Коллекции и ассоциативные массивы Массивы, код переписывается вручную Коллекции в pg_variables и автоматический экспорт коллекций Oracle
Хинты планировщика Нет pg_hint_plan — указания планировщику в SQL-комментариях
Oracle ILM: вытеснение редких данных на дешёвые диски Нет pgpro_ilm
Автоматическая конвертация кода Свободная утилита ora2pg ora2pgpro 2.0 — транспилятор с полным разбором кода

Если из левой колонки в вашей системе используются только данные и простые процедуры — читайте раздел про ванильный PostgreSQL: возможно, платить вообще не придётся.

Почему компании переносят базы с Oracle и MS SQL

Причины у всех одни и те же, и паники среди них нет — только арифметика рисков.

Поддержка. Oracle и Microsoft приостановили работу в России: прямые контракты на поддержку и обновления не продлеваются. Критичная СУБД без патчей безопасности — риск, который с каждым годом дорожает.

Регуляторика. Госсектору, госкомпаниям и субъектам КИИ нужен софт из реестра российского ПО — подробно о требованиях к значимым объектам мы писали в статье о КИИ и 187-ФЗ. Postgres Pro в реестре, у сертифицированных редакций есть сертификат ФСТЭК.

Технологическая близость. PostgreSQL — классическая реляционная СУБД, близкая к Oracle по архитектуре и методам работы, с большим числом успешных проектов миграции. Из всех вариантов замены этот — с наименьшим расстоянием переноса. Как Postgres Pro выглядит на фоне других российских СУБД — в сравнении российских СУБД.

Этапы миграции с Oracle на PostgreSQL

Жизненный цикл проекта, который вендор использует в собственных проектах миграции, состоит из семи этапов.

  1. Выбор приложения и аудит. Мигрируют не «всё сразу», а по информационным системам — первой обычно берут некритичную. Аудит отвечает на вопросы: сколько строк PL/SQL, какие системные пакеты задействованы, кто и как подключается к базе.
  2. Оценка трудозатрат. По результатам аудита считается бюджет и выбирается целевая СУБД — здесь же становится видно, окупит ли Oracle-совместимость Enterprise сокращение ручной работы.
  3. Конвертация схемы и кода. Таблицы, индексы, представления и хранимая логика переводятся в синтаксис PostgreSQL — руками или транспилятором ora2pgpro.
  4. Перенос и синхронизация данных. Самая предсказуемая часть проекта. В ora2pgpro есть проверка корректности: данные исходной таблицы Oracle сопоставляются с результатом в Postgres Pro, материализованные представления переносятся снимками.
  5. Тестирование. Функциональное и нагрузочное: сверяются результаты запросов, планы выполнения и время отклика под боевой нагрузкой.
  6. Переход в промышленную эксплуатацию. Обычно через период параллельной работы двух СУБД с синхронизацией данных и коротким окном переключения.
  7. Оптимизация и сопровождение. PostgreSQL настраивается иначе, чем Oracle: тюнинг планов, автовакуум, мониторинг.

Честная оценка: дольше всего длятся конвертация логики и тестирование. Перенос данных, которого обычно боятся, — быстрая и хорошо автоматизированная часть.

Перенос логики PL/SQL: где теряют время

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

В Postgres Pro Enterprise на этот случай есть два инструмента. Первый — транспилятор ora2pgpro 2.0 в составе СУБД: в отличие от ora2pg, он строит полное дерево разбора исходного PL/SQL-кода и генерирует работоспособный PL/pgSQL, включая пакеты, коллекции и автономные транзакции. Второй — сами пакеты в PL/pgSQL: CREATE PACKAGE, функция инициализации, глобальные переменные, приватные подпрограммы. Приложению не нужно менять обращения вида имя_пакета.функция() — структура кода сохраняется, а не размазывается по схемам.

Отдельный случай — логика, завязанная на системные пакеты: отправка почты из СУБД (UTL_MAIL, UTL_SMTP), HTTP-вызовы (UTL_HTTP), инструментирование длительных операций (DBMS_APPLICATION_INFO), работа с большими объектами (DBMS_LOB, BFILE). На ванильном PostgreSQL всё это выносится из базы в приложение — по сути, отдельный проект разработки. В Enterprise эти пакеты встроены, и их API почти полностью совпадает с Oracle.

Ванильный PostgreSQL или Postgres Pro Enterprise

Бесплатного PostgreSQL достаточно, если бизнес-логика живёт в приложении, а не в базе: PL/SQL-кода мало, системные пакеты не используются, команда готова сама сопровождать СУБД и собирать отказоустойчивость из открытых компонентов. В этом случае честный ответ — платить не за что: берите ванильный PostgreSQL, этапы проекта не изменятся.

Enterprise оправдан, когда в базе накоплена серьёзная логика: каждый пакет PL/SQL на ванили — ручное переписывание, а на Enterprise — работа транспилятора плюс проверка. И когда СУБД критична: нужны кластер, сжатие, инструменты мониторинга и вендор, который отвечает за результат поддержкой с жёстким SLA. Чем редакции отличаются между собой и от бесплатной сборки — в обзоре Postgres Pro и PostgreSQL.

Товар Postgres Pro Enterprise от 358 172 ₽ Смотреть →

Если система переросла один сервер, у вендора есть распределённая СУБД Postgres Pro Shardman — горизонтальное масштабирование на десятки узлов:

Товар Postgres Pro Shardman от 146 255 ₽ Смотреть →

Миграция с MS SQL: два разных случая

База 1С. Перенос информационной базы 1С с MS SQL (или Oracle) на Postgres Pro выполняется только средствами платформы 1С: выгрузка в dt-файл и загрузка в пустую базу, перенос без промежуточного файла командой ibcmd infobase replicate --target-dbms=PostgreSQL либо механизм распределённых информационных баз. Первоначальную загрузку ускоряют настройками кластера: max_parallel_maintenance_workers — до половины ядер сервера, автовакуум на время загрузки отключают и затем возвращают. Подробно про выбор СУБД под 1С — в статье PostgreSQL для 1С.

Собственная система на MS SQL. Этапы те же, что и для Oracle: аудит, конвертация схемы, перенос данных, тестирование. Отличие — в переносе логики: T-SQL переводится в PL/pgSQL, и объём этой работы оценивается на аудите так же, как объём PL/SQL.

Сколько стоят лицензии Postgres Pro Enterprise

Postgres Pro Enterprise лицензируется по ядрам процессора — физическим ядрам сервера или vCPU виртуальной машины. Правила простые, но их легко посчитать неправильно:

  • лицензия бессрочная и включает год гарантийного обслуживания; минимум на одну установку — 2 ядра;
  • цена за одно ядро x86-64 — 716 344 ₽, вариант с расширенной гарантией 3 года — 988 557 ₽;
  • в отказоустойчивых конфигурациях лицензируются все серверы кластера и все реплики, синхронные и асинхронные; голосующий узел-арбитр BiHA лицензии не требует;
  • пример: продуктив на 8 ядер плюс реплика на 8 ядер — это 16 лицензий по цене ядра.

Тестовый контур на время миграции покупать не нужно: правила лицензирования Postgres Pro разрешают развернуть одну тестовую среду и одну среду разработки без дополнительных лицензий — каждая по мощности не больше купленного продуктива.

Поддержка сверх гарантийного года оформляется сертификатом технической поддержки на 1–5 лет. SLA вендора при действующем сертификате: реакция на заявку — от 15 минут в режиме 24×7, решение критичной проблемы — 4 часа, исправление ошибки в коде — 24 часа.

Лицензия СУБД Postgres Pro Enterprise на 1 ядро x86-64
Рекомендуем в статье Лицензия СУБД Postgres Pro Enterprise на 1 ядро x86-64
PPE-86-LIC
716 344 ₽ НДС не облагается (ст. 149 НК РФ) — позиция в реестре российского ПО

Как купить на юрлицо

Мигсофт поставляет Postgres Pro организациям: счёт в рублях по безналу, договор, закрывающие документы, комплект для тендера. Postgres Pro Enterprise включён в Единый реестр российского ПО, поэтому лицензии не облагаются НДС; сертификаты технической поддержки идут отдельной строкой с НДС 22 % — в счёте это разведено сразу, бухгалтерии ничего не нужно пересчитывать.

Документы для тендера
КП с печатью, счёт с отсрочкой, УПД, номера реестра в спецификации.
Сверка совместимости
Проверим вашу конфигурацию по базе вендора до оплаты — бесплатно.

Пришлём расчёт лицензий под вашу конфигурацию — бесплатно, в течение рабочего дня. Лицензирование по ядрам с репликами и виртуализацией — то место, где ошибка всплывает на приёмке. Напишите, сколько серверов, ядер и реплик в целевой схеме, — вернём точный расчёт и спецификацию для закупки.

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

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

Срок определяется на аудите — первом этапе проекта — и зависит в основном от объёма хранимой логики и требований к тестированию. Перенос данных — быстрая часть; дольше всего длятся конвертация PL/SQL и проверка системы под нагрузкой. Транспилятор ora2pgpro сокращает именно самую длинную часть.

Можно ли перенести базу без остановки сервиса? +

Полностью без окна переключения — редкий случай; на практике окно сокращают до минимума параллельной эксплуатацией с синхронизацией данных. У вендора для таких проектов есть Postgres ProGate — решение для миграции и репликации данных со сравнением и проверкой целостности; его применение прорабатывается в рамках проекта миграции.

Что будет с Oracle Forms и APEX? +

Это части стека Oracle, вместе с СУБД они не переносятся: экранные формы и приложения переписываются на другой стек. Планируйте это отдельным проектом рядом с миграцией базы — на аудите объём такой переработки оценивается сразу.

Нужно ли покупать лицензии на время параллельной работы двух СУБД? +

Лицензии Postgres Pro нужны на продуктивный контур новой СУБД. Тестовая среда и среда разработки входят в купленный объём без доплаты, поэтому периоды тестирования и опытной эксплуатации дополнительных лицензий не требуют.

Виталий Куренков
Менеджер Мигсофт: подбор и поставка российского ПО для юрлиц и госкомпаний

Читайте дальше

Российские СУБД: сравнение Postgres Pro, Tantor, Jatoba, Pangolin Импортозамещение Российские СУБД: сравнение Postgres Pro, Tantor, Jatoba, Pangolin Почти все российские СУБД общего назначения — Postgres Pro, Tantor, Jatoba, Pangolin — построены на PostgreSQL, поэтому на практике выбирают не «движок», а вендора: доработки, сертификаты ФСТЭК, качество поддержки и цену. Сравниваем пять СУБД из реестра Минцифры и показываем, какую выбрать под задачу и как купить лицензии на юрлицо. 14 августа 2026 · 9 мин чтения Миграция с Windows на Astra Linux: план для организации Astra Linux · Импортозамещение Миграция с Windows на Astra Linux: план для организации Переход организации с Windows на Astra Linux — это не установка другой ОС, а проект: аудит парка, выбор редакции, домен вместо Active Directory, офис, 1С и защита. Разбираем план миграции по этапам — с инструментами вендора и ценами на лицензии. 14 августа 2026 · 8 мин чтения Российские операционные системы: Astra Linux, РЕД ОС, РОСА Импортозамещение Российские операционные системы: Astra Linux, РЕД ОС, РОСА Компании, которая выбирает отечественную ОС вместо Windows, на практике приходится сравнивать три системы: Astra Linux, РЕД ОС и РОСА Хром. Разбираем, чем различаются эти российские операционные системы, что у них с сертификатами ФСТЭК и реестром Минцифры и как оформить лицензии на юрлицо. 12 августа 2026 · 8 мин чтения
Postgres Pro Enterprise
от 358 172 ₽