Доступны IvorySQL 4.0 и SynchDB 1.0, надстройки к PostgreSQL для взаимодействия с другими СУБД

Опубликован выпуск проекта IvorySQL 4.0, развивающего редакцию СУБД PostgreSQL, обеспечивающую совместимость с приложениями, рассчитанными на работу с СУБД Oracle. В IvorySQL заявлена возможность работы в качестве прозрачной замены последней версии PostgreSQL, отличие от которой сводится к появлению настройки “compatible_db”, включающей режим совместимости с Oracle. Код написан на языке Си и распространяется под лицензией Apache 2.0.

IvorySQL реализует процедурный язык PL/iSQL, повторяющий синтаксис PL/SQL в Oracle, поддерживает пакеты в стиле Oracle и операции с пакетами, такие как “CREATE PACKAGE”. Предоставляется совместимый с Oracle набор функций и типов, а также поддерживается специфичный для Oracle синтаксис операций, выражений и операторов, таких как ALTER TABLE, DELETE, UPDATE, CONNECT BY (иерархические запросы), GROUP BY, UNION и MINUS.

В новой версии:

  • Выполнен переход на кодовую базу PostgreSQL 17.
  • Добавлена поддержка невидимых столбцов, позволяющих скрыть определённые столбцы для упрощения миграции на новые приложения (невидимые столбцы показываются только при явном указании их имени и не отображаются в общих запросах вида “SELECT * FROM”).
  • Добавлены возможности для управления пакетами PL/SQL, позволяющие создавать пакеты, менять их параметры и прикреплять описание. В psql для операции с пакетами добавлена новая команда “dk”.
  • Повышена производительность работы с пакетами PL/SQL и добавлена поддержка кэширования пакетов.
  • Предложены новые функции ACL для управления привилегиями в привязке к пакетам PL/SQL.
  • Добавлена поддержка расширения pg_get_functiondef с реализацией функций pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) и pg_get_functiondef(VARIADIC TEXT[]), позволяющих получить определения функций на основе указанного списка имён функций.
  • Добавлены установочные пакеты для Ubuntu.

Дополнительно можно отметить релиз расширения SynchDB 1.0, предназначенного для репликации в PostgreSQL данных из одной или нескольких сторонних СУБД, таких как MySQL, MS SQLServer и Oracle. Подобные внешние СУБД выступают источниками данных, которые напрямую переносятся в одну целевую БД на базе PostgreSQL, без использования дополнительных прослоек для оркестровки процесса синхронизации данных (все операции синхронизации обрабатываются расширением SynchDB). Код проекта написан на языках Си и Java, и распространяется под лицензией Apache 2.0. SynchDB 1.0 отмечен как первый стабильный релиз проекта.

Система включает в себя шесть компонентов:

  • Debezium Runner Engine – движок на Java, предоставляющий модули для обработки потоков изменений данных из различных СУБД (MySQL, MS SQLServer и Oracle) и трансляции полученных данных в универсальном формате JSON.
  • SynchDB Worker – запускает экземпляры Debezium Runner Engine для репликации данных из конкретных СУБД, принимает от них изменения в формате JSON и передаёт в модуль Format Converter.
  • SynchDB Launcher – создаёт и завершает работу обработчиков SynchDB, используя API PostgreSQL для запуска фоновых процессов.
  • Format Converter – разбирает поток изменений в формате JSON, преобразует сторонние типы данных и DDL-запросы в типы и запросы, совместимые с PostgreSQL.
  • Replication Agent – обрабатывает вывод в формате HeapTupleData из Format Converter и запускает методы для подстановки данных в PostgreSQL.
  • Table Synch Agent (в разработке) – предоставляет эффективный метод начальной синхронизации таблиц.


Release. Ссылка here.