{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Data Bene - Tag: 'IvorySQL'",
  "language": "en",
  "home_page_url": "https://www.data-bene.io/en/",
  "feed_url": "https://www.data-bene.io/en/blog/tag/ivorysql/feed.json",
  "description": "Relational database, open-source and scalable.",
  "items": [{
      "id": "https://www.data-bene.io/en/blog/ivorysql-5/",
      "url": "https://www.data-bene.io/en/blog/ivorysql-5/",
      "title": "IvorySQL 5.0+: a game changer for Oracle to PostgreSQL transitions",
      "content_html": "\n<html><head></head><body><p>IvorySQL: “advanced, fully featured, open source Oracle compatible PostgreSQL with a firm commitment to always remain 100% compatible and a Drop-in replacement of the latest PostgreSQL.” (<a href=\"https://github.com/IvorySQL/IvorySQL\" rel=\"noopener\">GitHub</a>)</p><p>Also, it’s our team’s favorite engine to translate both foreign SQL and foreign applications for PostgreSQL! We believe in transitions, not migrations - a gradual shift from the old database engine to the new, specifically to reduce risk and optimize results. Using a project like this makes a huge difference in achieving both these goals.</p><p>It’s been a little bit since the latest major version was released, but we’re still excited about what’s new and wanted to share.</p><h2 id=\"whats-new\"><a href=\"https://www.data-bene.io/en/blog/ivorysql-5/#whats-new\" class=\"heading-anchor\">What’s new</a></h2><p>Version 5.0 (<a href=\"https://github.com/IvorySQL/IvorySQL/releases/tag/IvorySQL_5.0\" rel=\"noopener\">release notes</a>) came out on November 25, 2025 and there’s already been a minor version released since then (<a href=\"https://github.com/IvorySQL/IvorySQL/releases/tag/IvorySQL_5.1\" rel=\"noopener\">5.1 release notes</a>) on December 18, 2025. These editions of the project were the direct result of massive efforts from the IvorySQL team to provide a lot of quality feature improvements as well as implement PostgreSQL 18 compatibility.</p><p>IvorySQL 5 brought a lot of necessary changes with it, including:</p><ul class=\"list\"><li><strong>PLiSQL</strong> - a compatible subset of Oracle PL/SQL</li><li><strong>Oracle-Compatible Package Support</strong></li><li><strong>Oracle-Style Sequence Support</strong></li><li>v5.0 enhancements such as <strong>ROWID</strong>, <strong>%TYPE</strong>, <strong>%ROWTYPE</strong>, and <strong>nested subfunctions</strong></li></ul><p>In particular, we really enjoy a lot of the functionality upgrades.</p><p>For example, IvorySQL now has <strong>better NULL handling</strong>, where NULL is now treated like an empty string in compatible mode (matching Oracle behavior) to avoid bugs during migration. So, when you have situations such as <code>SELECT CONCAT('a' || NULL)</code>, IvorySQL will now return <code>'a'</code> instead of following PostgreSQL’s behavior of returning <code>NULL</code>.</p><p>One enhancement we really enjoy is that you can now <strong>nest functions and procedures</strong>. Functions are able to be embedded inside other functions (like Oracle packages, but simpler, using only private methods). This lets you organize complex logic in one place.</p><p>Along the same lines, support was also added for <code>DO [ LANGUAGE lang_name ] code [USING IN | OUT | IN OUT, ...]</code>.</p><h2 id=\"trying-it-out\"><a href=\"https://www.data-bene.io/en/blog/ivorysql-5/#trying-it-out\" class=\"heading-anchor\">Trying it out</a></h2><p>Currently, we’re ingesting applications that range from only a few packages, procedures, and functions (around 10-50 objects) to massive data loads that include around 50,000 objects (10,000+ procedures and hundreds of packages).</p><p>While there are still many features that will need to be added over time, it considerably reduces the effort taken to complete the transition from Oracle to PostgreSQL successfully.</p><p>If you’re thinking about testing it for yourself, there are a plethora of options to get started (including building it from source, using containers, etc.)… and even a WASM build! This in particular allows IvorySQL to be run directly in the browser without having to fully install it locally; it’s very convenient to look at syntax support and take the first step into the world of PostgreSQL.</p><p>You can deploy the IvorySQL-WASM project locally in just a few steps, following the <a href=\"https://www.ivorysql.org/blog/ivorysql-wasm/\" rel=\"noopener\">blog post IvorySQL published</a> on the subject.</p><p>Or, you can <a href=\"https://trial.ivorysql.org/\" rel=\"noopener\">try out the hosted WASM</a> on the IvorySQL website.</p><h2 id=\"whats-next\"><a href=\"https://www.data-bene.io/en/blog/ivorysql-5/#whats-next\" class=\"heading-anchor\">What’s next</a></h2><p>Hoping to learn more about how to use IvorySQL yourself? Keep an eye out for recorded webinars on their website (<a href=\"https://www.ivorysql.org/webinars-page\" rel=\"noopener\">coming soon!</a>), or <a href=\"https://www.youtube.com/@ivorysql\" rel=\"noopener\">check out recordings</a> from the HOW2025 conference in Jinan, China in the meantime.</p><p><a href=\"https://ivorysql.io/\" rel=\"noopener\">The next conference in Jinan</a> is already scheduled, from April 26th to the 28th! (By the way, the <a href=\"https://sessionize.com/how2026\" rel=\"noopener\">Call for Proposals is open</a> until February 27th, 2026.)</p><p>Our team is happy to employ contributors to the IvorySQL project. Some of our team members (Cédric Villemain, Yasir Hussain Shah) have been recognized in the release notes for 5.0 and 5.1 - and we have more additions planned. For the next release, we have planned some exciting developments, including:</p><ul class=\"list\"><li><code>ENABLE/DISABLE</code> constraint syntax</li><li><code>UTL_FILE</code> package addition</li><li>Oracle-style <code>CREATE TRIGGER</code> body (without needing to create a function beforehand)</li><li>Support for Oracle’s legacy join operator <code>(+)</code></li></ul><p>We’re looking forward to seeing the result of ongoing community work for the next release as well. Many great features are actively being added; for example, recently a new contributor to the project, Rophy Tsai, added the <code>DBMS_OUTPUT</code> and <code>DBMS_UTILITY</code> packages: something widely used across Oracle-based SQL codebases. It was recently merged to IvorySQL’s main branch, and will likely be included in the next minor or major release.</p><p>For those looking to transition to or explore PostgreSQL without extensive modifications to their existing database logic and applications, IvorySQL (specially v5.x) offers a practical solution. A direct migration to PostgreSQL could, in some cases, require significant changes to both database objects and application code. IvorySQL helps bridge this gap, allowing a smoother adoption of PostgreSQL with greater compatibility.</p><h2 id=\"additional-resources\"><a href=\"https://www.data-bene.io/en/blog/ivorysql-5/#additional-resources\" class=\"heading-anchor\">Additional resources</a></h2><ul class=\"list\"><li><a href=\"https://www.postgresql.org/about/news/ivorysql-50-released-major-oracle-compatibility-expansion-on-postgresql-180-foundation-3180/\" rel=\"noopener\">PostgreSQL.org announcement for IvorySQL 5</a></li><li><a href=\"https://github.com/orgs/IvorySQL/projects/19\" rel=\"noopener\">IvorySQL 5.0 roadmap on GitHub</a></li></ul></body></html>\n",
      "date_published": "2026-01-27T00:00:00Z"
    }
    ,{
      "id": "https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/",
      "url": "https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/",
      "title": "How to Transition Easily to PostgreSQL from Oracle",
      "content_html": "\n<html><head></head><body><p>If you need to transition easily from Oracle to PostgreSQL without worrying about type conversions or other Oracle packages that require modifications to be PostgreSQL-compatible, a useful solution is IvorySQL!</p><h2 id=\"introduction\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#introduction\" class=\"heading-anchor\">Introduction</a></h2><p>More and more companies are seeking to free themselves from the costs and constraints of Oracle by migrating to PostgreSQL. But how can this transition be achieved without spending months on it? Here is a proven, fast and secure method, based on feedback and open source tools.</p><h3 id=\"start-by-assessing-and-mapping\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#start-by-assessing-and-mapping\" class=\"heading-anchor\">Start by assessing and mapping</a></h3><p>Before migrating, it is essential to take stock of the situation: we start by listing Oracle objects through performing a complete extraction (including tables, views, sequences, procedures, functions, and packages).</p><p>It is also important to communicate regularly with the client to refine findings and validate directions, as well as to identify dependencies (applications connected with which technology, jobs, interfaces, etc.).</p><p>Finally, identify the client’s Oracle-specific features (specific functions such as ROWID, DUAL, DBMS_XXX, etc.) and any other keywords requiring special attention.</p><h3 id=\"choosing-the-right-open-source-tools\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#choosing-the-right-open-source-tools\" class=\"heading-anchor\">Choosing the right open source tools</a></h3><p>The success of a transition to PostgreSQL – because it is indeed a gradual transition and not a migration – depends as much on strategy as it does on tools.</p><p>It is not enough to simply copy objects: you need to understand the subtleties of the Oracle engine and intelligently transpose them into the PostgreSQL universe.</p><p>Among the essential tools, Ora2Pg plays a central role. Not only does it generate clear inventory reports, it also automates the conversion of schemas, data and PL/SQL code. It is a valuable accelerator for well-structured projects.</p><p>But in some contexts, the reality is more complex. Many customers accumulate significant technical debt, with thousands of lines of procedural code. Attempting to rewrite everything in PL/pgSQL in a short period of time would exhaust teams and compromise the migration itself. Maintaining two code bases— one in PL/SQL, the other in PL/pgSQL— during a complete transition phase is often organisationally untenable.</p><p>This is precisely where IvorySQL offers a powerful alternative. This fork of PostgreSQL, enhanced with Oracle compatibilities (PL/SQL, ROWID, DUAL, etc.), significantly reduces the need for immediate rewriting. By combining IvorySQL with targeted documentation and business validation scripts, the transition is easier, more reliable, and above all, more controlled.</p><p>Once in production, teams have the time they need to gradually rewrite their procedural and remaining application code in PL/pgSQL, without pressure or functional disruption.</p><h3 id=\"integration-and-tests\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#integration-and-tests\" class=\"heading-anchor\">Integration and tests</a></h3><p>One of the great advantages of IvorySQL is that it performs part of the integration upstream. Thanks to its native support for PL/SQL, Oracle objects and Oracle-compatible syntax, many elements migrated via Ora2Pg work immediately without any major adaptation.</p><p>Of course, this does not eliminate the need for testing. On the contrary, it is essential to validate business behaviour in an IvorySQL pre-production environment. Procedures, functions, packages, triggers, and views must be tested with real-world cases, comparing the results between Oracle and IvorySQL to ensure functional equivalence.</p><p>Comparison scripts can be used to verify query responses, transaction effects, or the behaviour of migrated functions. But in many cases, IvorySQL significantly reduces the need for patches or rewrites, speeding up production and securing the transition.</p><h3 id=\"document-and-support\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#document-and-support\" class=\"heading-anchor\">Document and support</a></h3><p>A successful transition is not limited to technical aspects; it also relies on clear documentation and appropriate support. It is essential to write comprehensive test specifications for each complex object and module (procedure, package, trigger, etc.) in order to keep track of technical choices, adaptations made, and points of attention.</p><p>Support for client teams is just as important. Targeted workshops are used to share best practices, explain the differences between Oracle and PostgreSQL, and facilitate the adoption of IvorySQL.</p><p>Finally, a successful transition to PostgreSQL also depends on support for technical and functional teams. Targeted training sessions enable developers, DBAs, and project managers to learn the specifics of IvorySQL, understand the differences with Oracle, and quickly develop their skills.</p><p>This system also relies on structured technical support, which helps resolve issues, secure implementation choices, and facilitate communication between project teams and migration experts.</p><h2 id=\"ivorysql-in-the-real-world\"><a href=\"https://www.data-bene.io/en/blog/transition-easily-to-postgresql-from-oracle/#ivorysql-in-the-real-world\" class=\"heading-anchor\">IvorySQL in the real world</a></h2><p>During a recent assignment for a private sector company, we supported the transition from an Oracle database to IvorySQL in a challenging context: where there was significant technical debt, high volume, and tight deadlines.</p><p>Thanks to IvorySQL and our ability to automate this transition, it was completed quickly and almost all objects were integrated without rewriting.</p><p>The switch from IvorySQL to PostgreSQL can be carried out smoothly, as long as the application is fully functional and meets business expectations.</p><p>The teams were able to focus on business testing, while targeted training and technical support enabled rapid skill development.</p><p>It is essential to succeed in this type of project in order to build confidence and roll out this operation across your entire Oracle instance fleet!</p><p>Are you considering a transition from Oracle to PostgreSQL? Let’s talk about it.</p><p>Contact our team of experts at any time: <a href=\"mailto:contact@data-bene.io\">contact@data-bene.io</a></p><p>On November 26, 2025 IvorySQL 5.0 was released - <a href=\"https://www.postgresql.org/about/news/ivorysql-50-released-major-oracle-compatibility-expansion-on-postgresql-180-foundation-3180/\" rel=\"noopener\">view the announcement here</a> for more information about this open-source project.</p></body></html>\n",
      "date_published": "2025-12-10T00:00:00Z"
    }
    ,{
      "id": "https://www.data-bene.io/en/blog/return-of-how2025/",
      "url": "https://www.data-bene.io/en/blog/return-of-how2025/",
      "title": "Return of HOW2025",
      "content_html": "\n<html><head></head><body><p>The Highgo Open World conference, dedicated to the PostgreSQL ecosystem and the IvorySQL project, was held on June 27 and 28. The event was a resounding success: nearly 1,000 attendees on site, up to 8,000 simultaneous connections to the streams, and approximately 25,000 viewers in total.</p><p>The program featured 101 technical talks led by 105 speakers. The majority of sessions were in Mandarin, with an English track offered with simultaneous translation. You can view the full program at <a href=\"https://ivorysql.io/schedule/\" rel=\"noopener\">IvorySQL.io</a> and find the replays on Weibo via <a href=\"https://ivorysql.io/2025/06/27/live-access-june27/\" rel=\"noopener\">this link.</a></p><p>There was a small group of the international community present, including <a href=\"https://postgresql.life/post/grant_zhou/\" rel=\"noopener\">Grant Zhou</a>, who liaises and collaborates with the PostgreSQL association in China and the rest of the world.</p><p>On a technical level, the content was dense and particularly interesting. I particularly noted:</p><ul class=\"list\"><li><p>Alena Rybakina’s presentation on the PostgreSQL query planner and strategies for circumventing certain limitations.</p></li><li><p>A clear and concrete focus on Patroni (High Availability) by Alexander Kukushkin and Polina Bungina.</p></li><li><p>Florentz Tselai presented two topics applying his principles: simplicity and efficiency, using “AI” with PostgreSQL, and data management with Sun Tzu and the 36 Stratagems as support.</p></li><li><p>Also a very good introduction to Bazel and its use for Monogres (to be officially announced soon) presented energetically by Alvaro Hernandez.</p><p>Monogres is a very interesting initiative that should help strengthen control over the software supply chain, a major theme in IT today. And I also saw it as a great opportunity to showcase PostgreSQL variations with features and fixes that aren’t always possible to include in PostgreSQL itself or backport to previous major releases.</p></li><li><p>Michael Meskes had the honor of giving a plenary lecture on a topic that richly deserves it: “From Code to Commerce: Open Source Business Models Today,” a keynote on open-source and free software, applied to the PostgreSQL ecosystem.</p></li><li><p>My colleague Andrea presented the developments and trends of companies moving to IvorySQL and PostgreSQL.</p></li><li><p>For my part, I presented Linux PSI in the PostgreSQL context.</p></li></ul><p>Since everything is recorded, I encourage you to explore and watch the topics that interest you. There were also pre-recorded lectures in English during the event, but I admit that I took advantage of the time during the sessions to interact with participants.</p><p>Aside from the conferences, I had the chance to meet several members of the Chinese PostgreSQL community who are very well-known for their involvement in the success of PostgreSQL locally. I also had the opportunity to learn more about Cloudberry, replacing Greenplum, thanks Dianjin Wang!</p><hr><p>Data Bene also planned a time to meet with the IvorySQL team, based largely in Shandong, the province where Jinan, the host city of the conferences, is located. Ivory is a project in which we are actively involved and which allows companies to move away from Oracle “smoothly.” This is an important topic for our clients and one that occupies a prominent place in our partnership with Highgo: they have been working on this project for several years now, and we want to enable companies everywhere to benefit from it with appropriate support and expertise.</p><hr><p>The conferences were very well organized and the welcome was wonderful, the “Social Event” at the local “beer garden” perfectly suited to the heat of Jinan at the end of June!</p><p>Given the conference program, I bitterly regretted not understanding anything (there was 1 track in English and 5 in Mandarin)… but it is already being said that next year the Mandarin conferences could perhaps be translated (into English), and the date brought forward to May to take advantage of a milder climate.</p><p>There is so much to learn there that I will gladly return.</p></body></html>\n",
      "date_published": "2025-07-15T00:00:00Z"
    }
    
  ]
}
