Foi publicado o lançamento do projeto IvorySQL 4.0, desenvolvendo uma edição do SGBD PostgreSQL que oferece compatibilidade com aplicações projetadas para funcionar com o SGBD Oracle. O IvorySQL afirma ser capaz de funcionar como um substituto transparente para a versão mais recente do PostgreSQL, cuja diferença se resume à aparência da configuração “compatível_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.
IvorySQL implementa a linguagem processual PL/iSQL, que replica a sintaxe PL/SQL da Oracle e suporta pacotes estilo Oracle e operações de pacote, como "CREATE PACKAGE". Fornece um conjunto de funções e tipos compatível com Oracle e suporta sintaxe específica do Oracle para operações, expressões e instruções 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 PostgreSQL 17 foi concluída.
- Adicionado suporte para colunas invisíveis, permitindo ocultar determinadas colunas para simplificar a migração para novos aplicativos (colunas invisíveis são mostradas apenas quando você especifica explicitamente seu nome e não são exibidas em consultas SELECT * FROM gerais).
- Adicionados recursos para gerenciamento de pacotes PL/SQL, permitindo criar pacotes, alterar seus parâmetros e anexar uma descrição. Um novo comando "\dk" foi adicionado ao psql para operações em lote.
- Melhor desempenho para trabalhar com pacotes PL/SQL e suporte adicional para cache de pacotes.
- Novas funções ACL foram propostas para gerenciar privilégios em relação a pacotes PL/SQL.
- Adicionado suporte para a extensão pg_get_functiondef com implementações das funções pg_get_functiondef(), pg_get_functiondef(OID, VARIADIC OID[]) e pg_get_functiondef(VARIADIC TEXT[]) que permitem obter definições de função com base em uma lista especificada de nomes de funções.
- Pacotes de instalação adicionados para Ubuntu.
Além disso, podemos destacar o lançamento da extensão SynchDB 1.0, projetada para replicação de dados de um ou mais SGBDs de terceiros, como MySQL, MS SQLServer e Oracle, para PostgreSQL. Esses SGBDs externos atuam como fontes de dados que são transferidas diretamente para um banco de dados de destino baseado em PostgreSQL, sem usar camadas adicionais para orquestrar o processo de sincronização de dados (todas as operações de sincronização são processadas pela extensão SynchDB). O código do projeto é escrito em C e Java e distribuído sob a licença Apache 2.0. SynchDB 1.0 está marcado como a primeira versão estável do projeto.
O sistema inclui seis componentes:
- Debezium Runner Engine é um mecanismo Java que fornece módulos para processar fluxos de alterações de dados de vários SGBDs (MySQL, MS SQLServer e Oracle) e traduzir os dados recebidos no formato JSON universal.
- SynchDB Worker - inicia instâncias do Debezium Runner Engine para replicar dados de DBMSs específicos, recebe alterações deles no formato JSON e os transfere para o módulo Format Converter.
- SynchDB Launcher - Cria e encerra manipuladores SynchDB usando a API PostgreSQL para iniciar processos em segundo plano.
- Conversor de formato – analisa o fluxo de alterações no formato JSON, converte tipos de dados de terceiros e consultas DDL em tipos e consultas compatíveis com PostgreSQL.
- Agente de Replicação – Processa a saída HeapTupleData do Conversor de Formato e executa métodos para substituir os dados no PostgreSQL.
- Agente de sincronização de tabelas (em desenvolvimento) - Fornece um método eficiente para sincronização inicial de tabelas.

Fonte: opennet.ru
