IvorySQL реализует процедурный язык PL/iSQL, повторяющий синтаксис PL/SQL в Oracle, поддерживает пакеты в стиле Oracle и операции с пакетами, такие как «CREATE PACKAGE». Предоставляется совместимый с Oracle набор функций и типов, а также поддерживается специфичный для Oracle синтаксис операций, выражений и операторов, таких как ALTER TABLE, DELETE, UPDATE, CONNECT BY (иерархические запросы), GROUP BY, UNION и MINUS.
В новой версии:
- Выполнен переход на кодовую базу PostgreSQL 18.
- Улучшена совместимость с СУБД Oracle: реализована поддержка вложенных подпрограмм, ROWID, параметров NLS и OUT, трансляции пустых строк в NULL, смены парсеров в привязке к сеансам, кодировки GB18030, функций SYS_GUID, SYS_CONTEXT и USERENV.
- Добавлены совместимые с Oracle операторы INSTR, FORCE VIEW и LIKE.
- Расширены возможности PL/iSQL: добавлена поддержка CALL-синтаксиса, %ROWTYPE и %TYPE.
- Реализована полная поддержка Docker Compose, Docker Swarm и Kubernetes с пакетным менеджером Helm. В IvorySQL Operator 5.0 и IvorySQL Cloud 5.0 добавлены средства для визуального управления жизненным циклом.
- Обеспечена поддержка десяти расширений к PostgreSQL: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check и pgvector.
- Сформированы установочные пакеты для архитектур X86_64, ARM64, MIPS и LoongArch.
- Подготовлено online-окружение для работы с IvorySQL из браузера, позволяющее обойтись без установки IvorySQL на своей системе.
Дополнительно можно отметить релиз расширения SynchDB 1.3, предназначенного для репликации в PostgreSQL данных из одной или нескольких сторонних СУБД, таких как MySQL, MS SQLServer и Oracle. Подобные внешние СУБД выступают источниками данных, которые напрямую переносятся в одну целевую БД на базе PostgreSQL, без использования дополнительных прослоек для оркестровки процесса синхронизации данных (все операции синхронизации обрабатываются расширением SynchDB). Код проекта написан на языках Си и Java, и распространяется под лицензией Apache 2.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.

В SynchDB 1.3 реализован новый движок формирования снапшотов, основанный на FDW (Foreign Data Wrapper). По сравнению со старым движком на базе Debezium новый движок позволяет значительно повысить производительность и снизить задержки при репликации данных из больших БД Oracle. Кроме того, в новой версии переработаны представления со статистикой и добавлена поддержка PostgreSQL 18 и IvorySQL 5.
Источник: http://www.opennet.ru/opennews/art.shtml?num=64332
