IvorySQL 4.0 and SynchDB 1.0 are available, add-ons to PostgreSQL for interaction with other DBMS.

The release of project IvorySQL 4.0 has been published, developing a PostgreSQL database edition that ensures compatibility with applications designed for Oracle databases. IvorySQL claims the ability to function as a seamless replacement for the latest version of PostgreSQL, differing mainly in the introduction of the 'compatible_db' setting that includes compatibility mode with Oracle. The code is written in C and is distributed under the Apache 2.0 license.

IvorySQL implements the PL/iSQL procedural language, mirroring the PL/SQL syntax in Oracle, supports Oracle-style packages and operations with packages such as "CREATE PACKAGE." A compatible set of functions and types is provided, along with support for Oracle-specific syntax for operations, expressions, and operators such as ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarchical queries), GROUP BY, UNION, and MINUS.

In the new version:

  • Transition to the PostgreSQL 17 codebase has been completed.
  • Support for invisible columns has been added, allowing certain columns to be hidden for easier migration to new applications (invisible columns are shown only when explicitly stated by their name and do not appear in general queries such as 'SELECT * FROM').
  • Capabilities for managing PL/SQL packages have been added, allowing the creation of packages, modification of their parameters, and attachment of descriptions. In psql, a new command '\dk' has been introduced for operations with packages.
  • Performance improvements for working with PL/SQL packages have been made, along with the addition of package caching support.
  • New ACL functions for managing privileges related to PL/SQL packages have been proposed.
  • Support for the pg_get_functiondef extension has been added, implementing the functions pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]), and pg_get_functiondef(VARIADIC TEXT[]), which allow the retrieval of function definitions based on a specified list of function names.
  • Installation packages for Ubuntu have been added.

Additionally, the release of the SynchDB 1.0 extension has been noted, designed for replicating data from one or more third-party databases into PostgreSQL, such as MySQL, MS SQLServer, and Oracle. These external databases act as data sources that are directly transferred into a single target PostgreSQL database, without using additional layers for orchestrating the data synchronization process (all synchronization operations are handled by the SynchDB extension). The project code is written in C and Java and is distributed under the Apache 2.0 license. SynchDB 1.0 is marked as the first stable release of the project.

The system includes six components:

  • Debezium Runner Engine — a Java engine that provides modules for processing data change streams from various databases (MySQL, MS SQLServer, and Oracle) and translating the received data into a universal JSON format.
  • SynchDB Worker — launches instances of Debezium Runner Engine for data replication from specific databases, accepts changes from them in JSON format, and passes it to the Format Converter module.
  • SynchDB Launcher — creates and terminates SynchDB handlers using the PostgreSQL API to start background processes.
  • Format Converter — parses the change stream in JSON format, transforms external data types and DDL queries into types and queries compatible with PostgreSQL.
  • Replication Agent — processes output in the HeapTupleData format from the Format Converter and invokes methods to substitute data into PostgreSQL.
  • Table Synch Agent (under development) — provides an effective method for initial table synchronization.

IvorySQL 4.0 and SynchDB 1.0 are available, add-ons to PostgreSQL for interaction with other DBMS.


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster