{"id":121167,"date":"2024-12-29T15:46:00","date_gmt":"2024-12-29T13:46:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd"},"modified":"2024-12-29T15:46:00","modified_gmt":"2024-12-29T13:46:01","slug":"dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd","title":{"rendered":"IvorySQL 4.0 and SynchDB 1.0 are available, add-ons to PostgreSQL for interaction with other DBMS.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The release of the IvorySQL 4.0 project has been published, enhancing the PostgreSQL database system to ensure compatibility with applications designed for Oracle Database. IvorySQL offers the option to function as a seamless replacement for the latest version of PostgreSQL, with the main difference being the inclusion of the 'compatible_db' setting, which enables compatibility mode with Oracle. The code is written in C and is distributed under the Apache 2.0 license.    <\/p>\n<p>IvorySQL implements the procedural language PL\/iSQL, mirroring the syntax of PL\/SQL in Oracle, supports Oracle-style packages and operations with packages such as 'CREATE PACKAGE'. It offers an Oracle-compatible set of functions and types, as well as supports Oracle-specific syntax for operations, expressions, and operators like ALTER TABLE, DELETE, UPDATE, CONNECT BY (hierarchical queries), GROUP BY, UNION, and MINUS.      <\/p>\n<p>In the new version:  <\/p>\n<ul>\n<li class=\"l\"> Transition to the PostgreSQL 17 codebase has been completed.\n<li class=\"l\"> Support for invisible columns has been added, allowing certain columns to be hidden to simplify migration to new applications (invisible columns are only shown when their name is explicitly specified and do not appear in general queries like 'SELECT * FROM').\n<li class=\"l\"> New capabilities for managing PL\/SQL packages have been added, allowing the creation of packages, changing their parameters, and attaching descriptions. A new command 'dk' has been added in psql for operations with packages.\n<li class=\"l\"> Performance improvements for working with PL\/SQL packages have been made, along with the addition of package caching support.\n<li class=\"l\"> New ACL functions for managing privileges related to PL\/SQL packages have been proposed.\n<li class=\"l\"> 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.\n<li class=\"l\"> Installation packages for Ubuntu have been added.  <\/ul>\n<p>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.    <\/p>\n<p>The system includes six components:  <\/p>\n<ul>\n<li class=\"l\"> Debezium Runner Engine \u2014 a Java-based engine that provides modules for processing change data streams from various database management systems (MySQL, MS SQLServer, and Oracle) and translating the obtained data into a universal JSON format.\n<li class=\"l\"> SynchDB Worker \u2014 launches instances of Debezium Runner Engine for replicating data from specific database systems, receives changes from them in JSON format, and forwards them to the Format Converter module.\n<li class=\"l\"> SynchDB Launcher \u2014 creates and terminates SynchDB handlers using the PostgreSQL API to initiate background processes.\n<li class=\"l\"> Format Converter \u2014 parses the change stream in JSON format, converts external data types and DDL statements into types and statements compatible with PostgreSQL.\n<li class=\"l\"> Replication Agent \u2014 processes the output in HeapTupleData format from Format Converter and invokes methods to insert data into PostgreSQL.\n<li class=\"l\"> Table Synch Agent (under development) \u2014 provides an efficient method for initial table synchronization.  <\/ul>\n<p>      <center><img decoding=\"async\" alt=\"IvorySQL 4.0 and SynchDB 1.0 are available, add-ons to PostgreSQL for interaction with other DBMS.\" src=\"\/wp-content\/uploads\/2024\/12\/c8e38abad675ca21ad7d0ca36aa2ceea.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62483\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 IvorySQL 4.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0421\u0423\u0411\u0414 PostgreSQL, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0421\u0423\u0411\u0414 Oracle. \u0412 IvorySQL \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0439 \u0437\u0430\u043c\u0435\u043d\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 PostgreSQL, \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 &#171;compatible_db&#187;, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u0440\u0435\u0436\u0438\u043c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 Oracle. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":121168,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121167","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 IvorySQL 4.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0421\u0423\u0411\u0414 PostgreSQL, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0421\u0423\u0411\u0414 Oracle.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b IvorySQL 4.0 \u0438 SynchDB 1.0, \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a PostgreSQL \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0421\u0423\u0411\u0414 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 IvorySQL 4.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0421\u0423\u0411\u0414 PostgreSQL, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0421\u0423\u0411\u0414 Oracle.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-12-29T13:46:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-12-29T13:46:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Available IvorySQL 4.0 and SynchDB 1.0, extensions for PostgreSQL to interact with other DBMS | ProHoster","description":"The release of project IvorySQL 4.0 has been published, developing a PostgreSQL database edition that ensures compatibility with applications designed for Oracle databases.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b IvorySQL 4.0 \u0438 SynchDB 1.0, \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a PostgreSQL \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0421\u0423\u0411\u0414 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 IvorySQL 4.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0421\u0423\u0411\u0414 PostgreSQL, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0421\u0423\u0411\u0414 Oracle.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/dostupny-ivorysql-4-0-i-synchdb-1-0-nadstrojki-k-postgresql-dlya-vzaimodejstviya-s-drugimi-subd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-12-29T13:46:01+00:00","article:modified_time":"2024-12-29T13:46:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121167","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 09:15:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:15:22","updated":"2026-01-23 09:15:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=121167"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121167\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/121168"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=121167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=121167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=121167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}