A fost publicat release-ul proiectului IvorySQL 4.0, care dezvoltă ediția SGBD PostgreSQL, asigurând compatibilitate cu aplicațiile concepute pentru a funcționa cu SGBD Oracle. IvorySQL oferă posibilitatea de a funcționa ca o înlocuire transparentă a celei mai recente versiuni PostgreSQL, diferența constând în apariția setării „compatible_db”, care include un mod de compatibilitate cu Oracle. Codul este scris în limbajul C și este distribuit sub licența Apache 2.0.
IvorySQL implementează limbajul procedural PL/iSQL, care imită sintaxa PL/SQL din Oracle, suportă pachete în stil Oracle și operațiuni cu pachete, cum ar fi „CREATE PACKAGE”. Se oferă un set de funcții și tipuri compatibile cu Oracle, iar sintaxa specifică Oracle pentru operațiuni, expresii și operatori, cum ar fi ALTER TABLE, DELETE, UPDATE, CONNECT BY (interogări ierarhice), GROUP BY, UNION și MINUS, este, de asemenea, suportată.
În noua versiune:
- A fost realizat tranziția la codul de bază PostgreSQL 17.
- A fost adăugată suportul pentru coloanele invizibile, care permit ascunderea anumitor coloane pentru simplificarea migrației către aplicații noi (coloanele invizibile sunt vizibile doar atunci când numele lor este specificat explicit și nu se afișează în interogările generale de tip „SELECT * FROM”).
- Au fost adăugate funcționalități pentru gestionarea pachetelor PL/SQL, permițând crearea pachetelor, modificarea parametrilor acestora și atașarea descrierii. În psql, o nouă comandă „\dk” a fost adăugată pentru operațiile cu pachete.
- A fost îmbunătățită performanța manipulării pachetelor PL/SQL și a fost adăugată suport pentru memorizarea în cache a pachetelor.
- Au fost propuse noi funcții ACL pentru gestionarea privilegiilor legate de pachetele PL/SQL.
- A fost adăugată suportul pentru extensia pg_get_functiondef cu implementarea funcțiilor pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) și pg_get_functiondef(VARIADIC TEXT[]), care permit obținerea definițiilor funcțiilor pe baza unei liste specificate de nume de funcții.
- Au fost adăugate pachete de instalare pentru Ubuntu.
De asemenea, merită menționat lansarea extensiei SynchDB 1.0, destinată replicării datelor din PostgreSQL dintr-o sau mai multe baze de date externe, cum ar fi MySQL, MS SQLServer și Oracle. Aceste baze de date externe servesc ca surse de date, care sunt transferate direct într-o singură bază de date țintă bazată pe PostgreSQL, fără a utiliza straturi suplimentare pentru orchestrarea procesului de sincronizare a datelor (toate operațiunile de sincronizare sunt gestionate de extensia SynchDB). Codul proiectului este scris în limbajele C și Java și este distribuit sub licența Apache 2.0. SynchDB 1.0 este marcat ca prima versiune stabilă a proiectului.
Sistemul include șase componente:
- Debezium Runner Engine — un motor Java care oferă module pentru procesarea fluxurilor de modificări ale datelor din diverse SGBD-uri (MySQL, MS SQLServer și Oracle) și transpunerea datelor obținute într-un format universal JSON.
- SynchDB Worker — pornește instanțe Debezium Runner Engine pentru replicarea datelor din SGBD-uri specifice, primește modificările în format JSON și le transmite modulului Format Converter.
- SynchDB Launcher — creează și finalizează lucrătorii SynchDB, folosind API-ul PostgreSQL pentru a iniția procesele de fundal.
- Format Converter — analizează fluxul de modificări în format JSON, transformând tipurile de date externe și cererile DDL în tipuri și cereri compatibile cu PostgreSQL.
- Replication Agent — procesează ieșirea în format HeapTupleData din Format Converter și lansează metode pentru inserarea datelor în PostgreSQL.
- Table Synch Agent (în dezvoltare) — oferă o metodă eficientă de sincronizare inițială a tabelurilor.

Sursa: opennet.ro
