IvorySQL 5.0-projektet har slÀppts och utvecklar PostgreSQL DBMS-utgÄvan som ger kompatibilitet med applikationer designade för att fungera med Oracle DBMS. IvorySQL pÄstÄr sig kunna fungera som en transparent ersÀttning för den senaste versionen av PostgreSQL, skillnaden ligger i utseendet pÄ instÀllningen "compatible_db", som inkluderar kompatibilitetslÀget med Oracle. Koden Àr skriven i C och distribueras under Apache 2.0-licensen.
IvorySQL implementerar procedurellt sprÄk PL/iSQL, vilket speglar Oracles PL/SQL-syntax, och stöder paket och paketoperationer i Oracle-stil som CREATE PACKAGE. Det tillhandahÄller en Oracle-kompatibel uppsÀttning funktioner och typer, och stöder Oracle-specifik syntax för operationer, uttryck och operatorer som ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarkiska frÄgor), GROUP BY, UNION och MINUS.
I den nya versionen:
- ĂvergĂ„ngen till PostgreSQL 18-kodbasen har slutförts.
- FörbÀttrad kompatibilitet med Oracle DBMS: stöd för kapslade rutiner, ROWID-, NLS- och OUT-parametrar, översÀttning av tomma strÀngar till NULL, Àndring av parsers i sessionsbindning, GB18030-kodning, SYS_GUID-, SYS_CONTEXT- och USERENV-funktioner.
- Lade till Oracle-kompatibla operatorer INSTR, FORCE VIEW och LIKE.
- PL/iSQL-funktioner har utökats: stöd för CALL-syntax, %ROWTYPE och %TYPE har lagts till.
- Fullt stöd för Docker Compose, Docker Swarm och Kubernetes med Helm-pakethanteraren har implementerats. Visuella livscykelhanteringsverktyg har lagts till i IvorySQL Operator 5.0 och IvorySQL Cloud 5.0.
- Stöd för tio PostgreSQL-tillÀgg finns: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check och pgvector.
- Installationspaket har skapats för arkitekturerna X86_64, ARM64, MIPS och LoongArch.
- En onlinemiljö för att arbeta med IvorySQL frÄn en webblÀsare har förberetts, vilket gör att du kan klara dig utan att installera IvorySQL pÄ ditt system.
Det Àr ocksÄ vÀrt att notera lanseringen av SynchDB 1.3, ett plugin utformat för att replikera data frÄn en eller flera tredjepartsdatabashanteringssystem (DBMS), sÄsom MySQL, MS SQL Server och Oracle, till PostgreSQL. Dessa externa DBMS fungerar som datakÀllor, som överförs direkt till en enda PostgreSQL-mÄldatabas, utan behov av ytterligare lager för att orkestrera datasynkroniseringsprocessen (alla synkroniseringsoperationer hanteras av SynchDB-pluginet). Projektets kod Àr skriven i C och Java och distribueras under Apache 2.0-licensen.
Systemet inkluderar följande komponenter:
- Debezium Runner Engine Àr en Java-motor som tillhandahÄller moduler för att bearbeta dataÀndringsströmmar frÄn olika databaser (MySQL, MS SQLServer och Oracle) och sÀnda mottagna data i det universella JSON-formatet.
- SynchDB Worker â startar instanser av Debezium Runner Engine för att replikera data frĂ„n specifika DBMS, tar emot Ă€ndringar frĂ„n dem i JSON-format och skickar dem till Format Converter-modulen.
- SynchDB Launcher â Skapar och avslutar SynchDB-hanterare med PostgreSQL API för att starta bakgrundsprocesser.
- Formatkonverterare - analyserar en Àndringsström i JSON-format, konverterar datatyper och DDL-frÄgor frÄn tredje part till PostgreSQL-kompatibla typer och frÄgor.
- Replikeringsagent - bearbetar HeapTupleData-formatutdata frÄn formatkonverteraren och kör metoder för att ersÀtta data i PostgreSQL.

SynchDB 1.3 introducerar en ny snapshot-motor baserad pÄ FDW (Foreign Data Wrapper) och stöder OpenLog Replicator. JÀmfört med den tidigare Debezium-baserade motorn förbÀttrar den nya motorn prestandan avsevÀrt och minskar latensen vid replikering av data frÄn stora Oracle-databaser. Dessutom erbjuder den nya versionen ytterligare statistikvyer (synchdb_genstats, synchdb_snapstats och synchdb_cdcstat), OpenLog Replicator stöder nu MODIFY- och DEFAULT ON NULL-satser och stöder PostgreSQL 18 och IvorySQL 5.
KĂ€lla: opennet.ru
