Byl zveřejněn projekt IvorySQL 5.0, který vyvíjí ÚDB PostgreSQL, zajišťující kompatibilitu s aplikacemi určenými pro ÚDB Oracle. IvorySQL nabízí možnost fungovat jako průhledná náhrada nejnovější verze PostgreSQL, jejímiž odlišnostmi jsou nastavení "compatible_db", které zahrnuje režim kompatibility s Oracle. Kód je napsán v jazyce C a šíří se pod licencí Apache 2.0.
IvorySQL implementuje procedurální jazyk PL/iSQL, který napodobuje syntaxi PL/SQL v Oracle, podporuje balíčky ve stylu Oracle a operace s balíčky, jako je "CREATE PACKAGE". Poskytuje sadu funkcí a typů kompatibilních s Oracle, stejně jako je podporována specifická syntaxe operací, výrazů a operátorů, jako jsou ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarchické dotazy), GROUP BY, UNION a MINUS.
V nové verzi:
- Byl proveden přechod na kódovou základnu PostgreSQL 18.
- Byla vylepšena kompatibilita s ÚDB Oracle: byla zavedena podpora vnořených podprogramů, ROWID, parametrů NLS a OUT, translace prázdných řetězců na NULL, změny parserů vázaných na sezení, kódování GB18030, funkcí SYS_GUID, SYS_CONTEXT a USERENV.
- Byly přidány kompatibilní s Oracle operátory INSTR, FORCE VIEW a LIKE.
- Možnosti PL/iSQL byly rozšířeny: byla přidána podpora CALL-syntaktiky, %ROWTYPE a %TYPE.
- Byla zajištěna plná podpora Docker Compose, Docker Swarm a Kubernetes s balíčkovacím systémem Helm. V IvorySQL Operator 5.0 a IvorySQL Cloud 5.0 byly přidány nástroje pro vizuální správu životního cyklu.
- Byla poskytnuta podpora deseti rozšířením k PostgreSQL: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check a pgvector.
- Byly vytvořeny instalační balíčky pro architektury X86_64, ARM64, MIPS a LoongArch.
- Bylo připraveno online prostředí pro práci s IvorySQL z prohlížeče, které umožňuje obejít se bez instalace IvorySQL na vašem systému.
Dále lze zmínit vydání rozšíření SynchDB 1.3, které je určeno pro replikaci dat v PostgreSQL z jedné nebo více externích ÚDB, jako jsou MySQL, MS SQLServer a Oracle. Tyto externí ÚDB fungují jako zdroje dat, které jsou přímo přenášeny do jedné cílové ÚDB založené na PostgreSQL, bez použití dalších vrstev pro orchestraci procesu synchronizace dat (všechny operace synchronizace jsou zpracovávány rozšířením SynchDB). Kód projektu je napsán v jazycích C a Java a šíří se pod licencí Apache 2.0.
Systém zahrnuje komponenty:
- Debezium Runner Engine — engine written in Java that provides modules for processing streams of data changes from various DBMS (MySQL, MS SQLServer, and Oracle) and broadcasting the received data in a universal JSON format.
- SynchDB Worker — launches instances of Debezium Runner Engine to replicate data from specific DBMS, receiving changes from them in JSON format and passing them to the Format Converter module.
- SynchDB Launcher — creates and terminates SynchDB handlers using the PostgreSQL API to start background processes.
- Format Converter — parses the stream of changes in JSON format, converting external data types and DDL requests into types and queries compatible with PostgreSQL.
- Replication Agent — processes the output in HeapTupleData format from Format Converter and invokes methods to insert data into PostgreSQL.

In SynchDB 1.3, a new snapshot generation engine has been implemented, based on FDW (Foreign Data Wrapper) and supporting work with OpenLog Replicator. Compared to the previous engine built on Debezium, the new engine significantly improves performance and reduces latency when replicating data from large Oracle databases. Additionally, the new version offers extra views with statistics (synchdb_genstats, synchdb_snapstats, and synchdb_cdcstat), OpenLog Replicator now supports MODIFY expressions and DEFAULT ON NULL, and adds support for PostgreSQL 18 and IvorySQL 5.
Zdroj: opennet.ru
