Foi lançado o projeto IvorySQL 4.0, que desenvolve uma edição do SGBD PostgreSQL, garantindo compatibilidade com aplicativos projetados para trabalhar com SGBDs Oracle. O IvorySQL anuncia a possibilidade de operar como uma substituição transparente da última versão do PostgreSQL, com a diferença concentrada na configuração "compatible_db", que inclui o modo de compatibilidade com Oracle. O código é escrito em C e distribuído sob a licença Apache 2.0.
O IvorySQL implementa a linguagem procedural PL/iSQL, que replica a sintaxe do PL/SQL no Oracle, suporta pacotes no estilo Oracle e operações com pacotes, como "CREATE PACKAGE". Um conjunto de funções e tipos compatível com o Oracle é fornecido, além do suporte à sintaxe específica do Oracle para operações, expressões e operadores, como ALTER TABLE, DELETE, UPDATE, CONNECT BY (consultas hierárquicas), GROUP BY, UNION e MINUS.
Na nova versão:
- A transição para a base de código do PostgreSQL 17 foi concluída.
- Adicionada a suporte a colunas invisíveis, permitindo ocultar certas colunas para facilitar a migração para novos aplicativos (as colunas invisíveis aparecem apenas quando seu nome é explicitamente mencionado e não são exibidas em consultas gerais como "SELECT * FROM").
- Adicionadas funcionalidades para gerenciar pacotes PL/SQL, permitindo criar pacotes, alterar seus parâmetros e anexar descrições. No psql, foi adicionada um novo comando "\dk" para operações com pacotes.
- A performance ao trabalhar com pacotes PL/SQL foi melhorada e o suporte ao cache de pacotes foi adicionado.
- Novas funções ACL foram propostas para gerenciar privilégios em relação a pacotes PL/SQL.
- Suporte adicionado à extensão pg_get_functiondef com a implementação das funções pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) e pg_get_functiondef(VARIADIC TEXT[]), permitindo obter definições de funções com base em uma lista específica de nomes de funções.
- Pacotes de instalação para Ubuntu foram adicionados.
Adicionalmente, podemos mencionar o lançamento da extensão SynchDB 1.0, destinada à replicação de dados do PostgreSQL de um ou mais bancos de dados externos, como MySQL, MS SQLServer e Oracle. Esses bancos de dados externos atuam como fontes de dados que são diretamente transferidos para um único banco de dados de destino baseado em PostgreSQL, sem o uso de intermediações adicionais para orquestrar o processo de sincronização de dados (todas as operações de sincronização são tratadas pela extensão SynchDB). O código do projeto é escrito em C e Java e distribuído sob a licença Apache 2.0. A versão 1.0 do SynchDB é marcada como o primeiro lançamento estável do projeto.
O sistema inclui seis componentes:
- Debezium Runner Engine — um motor em Java que fornece módulos para processar fluxos de alterações de dados de vários bancos de dados (MySQL, MS SQLServer e Oracle) e transmitir os dados recebidos em um formato JSON universal.
- SynchDB Worker — inicia instâncias do Debezium Runner Engine para replicar dados de bancos de dados específicos, recebe deles as alterações no formato JSON e as envia para o módulo Format Converter.
- SynchDB Launcher — cria e finaliza os manipuladores do SynchDB, utilizando a API do PostgreSQL para iniciar processos em segundo plano.
- Format Converter — analisa o fluxo de alterações em formato JSON, transforma tipos de dados externos e consultas DDL em tipos e consultas compatíveis com PostgreSQL.
- Replication Agent — processa a saída em formato HeapTupleData do Format Converter e inicia métodos para inserir dados no PostgreSQL.
- Table Synch Agent (em desenvolvimento) — fornece um método eficiente para a sincronização inicial de tabelas.

Fonte: opennet.ru
