New PostgreSQL releases tackle bugs in all main software branches

Published: Tuesday, December 27, 2011

An undeniable complexity exists in open source software projects that have multiple branching paths of active development. While they remain interrelated, the specific functionality and new modifications can make two branches appear very different just a few months down the line.

The PostgreSQL database format is no exception, with at least five major branches experiencing active development. However, the managerial organization tasked with curating the project's code helped simplify upgrade tasks this week by releasing updates for all active versions of the software at the same time.

Version 9.1 of PostgreSQL - the latest iteration of the framework - is the most heavily affected by the update, with the new code release providing 52 separate fixes, the PostgreSQL Global Development Group said in its announcement. The CREATE EXTENSION feature suffered from multiple bugs that have been removed, and a potential crash that could be triggered when joining to a scalar function has been fixed as well.

Data corruption issues - both temporary ones experienced by GIN indexes after a system crash and copy-based problems in TOAST columns - have been repaired in the latest release, the GDG said, along with several flaws in the pg_upgrade function.

Another in the series of bugs that cause PostgreSQL to display its "variable not found in subplan target list" message has also been corrected, and hot standby startup errors and system failures were also fixed.

The H magazine reported that one of the issues fixed in the latest release is a severe one that was discovered relatively recently, often cropping up when some types of update and insert calls attempted to affect the same information at the same time. This is similar in principle to the aforementioned TOAST problem, as the H said that copying tables and data into TOAST columns caused instability and corruption.

Several problems with the way the system handles instructions written in perl and translates them into its own PostgreSQL procedural language were also addressed in the latest update, the GDG noted. The necessity of ensuring the resulting strings from the translation feature are encoded only in UTF-8 was acknowledged with a fix for that issue, as was a confusing bug that would occasionally cause function return types and actual data returned by the system to differ.

Improvements have also been made to PostgreSQL version 8.2.23, though users of that variation should prepare to upgrade in the future, as the GDG noted that this would be the last major update for it. The group's end-of-life support policy indicates that version 8.3 will be the next to go, in February 2013, followed by 8.4 in July 2014. The current standard version 9.1 will continue to be supported through September 2016, the GDG's website stated.

Updates for version 8.2, therefore will be discontinued, and installations will have to be upgraded to 8.3 or higher in order to continue to receive the latest code updates, the group advised.

PostgreSQL's improved reliability and stability may have come at a critical time for the database format, according to experts. The framework's mindshare has been steadily on the rise for some time, most notably with the recent inclusion of it as a feature in several high-profile products, including Apple's OS X Server software and a stand-alone Heroku implementation that provides it in the form of a database-as-a-service offering. Advanced functionality and technological prowess can draw in early adopters, but more conservative potential customers are generally more impressed by stability and ease of use.