Utgivningen av projektet IvorySQL 4.0 har publicerats, som utvecklar en version av databashanteraren PostgreSQL och sÀkerstÀller kompatibilitet med applikationer avsedda för databashanteraren Oracle. IvorySQL möjliggör anvÀndning som en transparent ersÀttning för den senaste versionen av PostgreSQL, vars skillnader Àr kopplade till instÀllningen "compatible_db", som inkluderar lÀge för kompatibilitet med Oracle. Koden Àr skriven i C och distribueras under Apache 2.0-licensen.
IvorySQL implementerar det procedurala sprÄket PL/iSQL, som efterliknar syntaxen för PL/SQL i Oracle, stöder paket i Oracle-stil och operationer med paket, sÄsom "CREATE PACKAGE". Ett Oracle-kompatibelt set av funktioner och typer tillhandahÄlls, samt specifik Oracle-syntax för operationer, uttryck och operatörer, sÄsom ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarkiska frÄgor), GROUP BY, UNION och MINUS.
I den nya versionen:
- ĂvergĂ„ng till kodbasen PostgreSQL 17 har genomförts.
- Stöd för osynliga kolumner har lagts till, vilket gör det möjligt att dölja vissa kolumner för att förenkla migreringen till nya applikationer (osynliga kolumner visas endast vid tydlig angivelse av deras namn och visas inte i allmÀnna frÄgor av typen "SELECT * FROM").
- Möjligheter för hantering av PL/SQL-paket har lagts till, vilket möjliggör skapande av paket, Àndring av deras parametrar och koppling av beskrivningar. En ny kommando "\dk" har lagts till i psql för operationer med paket.
- Prestandan vid arbete med PL/SQL-paket har ökat och stöd för paketcaching har lagts till.
- Nya ACL-funktioner har föreslagits för att hantera privilegier kopplade till PL/SQL-paket.
- Stöd för tillÀgget pg_get_functiondef har lagts till, med implementation av funktionerna pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) och pg_get_functiondef(VARIADIC TEXT[]), vilket möjliggör hÀmtning av funktionsdefinitioner baserat pÄ en angiven lista med funktionsnamn.
- Installationspaket för Ubuntu har lagts till.
Det bör ocksÄ noteras att versionen av tillÀgget SynchDB 1.0 har slÀppts, som Àr avsett för replikering av data frÄn en eller flera externa databashanterare, som MySQL, MS SQLServer och Oracle, till PostgreSQL. Dessa externa databashanterare fungerar som datakÀllor som direkt överförs till en mÄldatabas baserad pÄ PostgreSQL, utan att anvÀnda ytterligare lager för orkestrering av datasykroniseringsprocessen (alla synkroniseringsoperationer hanteras av tillÀgget SynchDB). Projektets kod Àr skriven i C och Java och distribueras under Apache 2.0-licensen. SynchDB 1.0 markerades som den första stabila versionen av projektet.
Systemet inkluderar sex komponenter:
- Debezium Runner Engine â en Java-baserad motor som tillhandahĂ„ller moduler för att bearbeta förĂ€ndringsflöden av data frĂ„n olika databashanteringssystem (MySQL, MS SQLServer och Oracle) och överföra de mottagna uppgifterna i det universella formatet JSON.
- SynchDB Worker â kör instanser av Debezium Runner Engine för att replikera data frĂ„n specifika databashanteringssystem, tar emot förĂ€ndringar i JSON-format och skickar dem till Format Converter-modulen.
- SynchDB Launcher â skapar och avslutar arbetet hos SynchDB-behandlare med hjĂ€lp av PostgreSQL API för att starta bakgrundsprocesser.
- Format Converter â analyserar förĂ€ndringsflödet i JSON-format, konverterar externa datatyper och DDL-frĂ„gor till typer och frĂ„gor som Ă€r kompatibla med PostgreSQL.
- Replication Agent â bearbetar utdata i HeapTupleData-format frĂ„n Format Converter och kör metoder för att infoga data i PostgreSQL.
- Table Synch Agent (under utveckling) - tillhandahÄller en effektiv metod för initial synkronisering av tabeller.

KĂ€lla: opennet.ru
