Издаден е проект IvorySQL 4.0, който развива версията на СУБД PostgreSQL, осигуряваща съвместимост с приложения, предназначени за работа с СУБД Oracle. В IvorySQL е обявена възможността за работа като прозрачно заместване на последната версия на PostgreSQL, чиято разлика е в наличието на настройка «compatible_db», включваща режим на съвместимост с Oracle. Кодът е написан на езика C и се разпространява под лицензия 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). Кодът на проекта е написан на езици C и 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 (в разработка) — предоставя ефективен метод за начална синхронизация на таблици.

Източник: opennet.ru
