PostgreSQL 9.1 Beta 1 Released

The PostgreSQL project has released the first beta of version 9.1. This beta release contains all of the features which will be in the final release, which is expected to be released 2 to 4 months from now, sometime between July and September.

According to the PostgreSQL project team, PostgreSQL 9.1 contains a "huge volume" of new features, possibly more  than any single release of PostgreSQL before. The overarching theme of the new release is innovation - "not just new to us but new to anybody," Josh Berkus, PostgreSQL core team member, tells 5 Minute Briefing.

With the beta release users will get the first release that actually has the set of features in it that are going to be in the final version and whose syntax, APIs and commands are going to be the same in the final version, barring a bug that forces syntax changes, Berkus explains.  Since this is a beta version, it is not considered ready for production use, but because the list of features and the APIs are now stable, application developers can begin developing applications against 9.1.

Among the most anticipated features in this version is K-Nearest-Neighbor Indexing, which permits an indexed search of "what's near me" and is expected to power a new generation of spatial applications.  "Nobody currently has a production version of a database that does K-Nearest-Neighbor Indexing," says Berkus.

Another sought-after feature is Synchronous Replication. Having Synchronous Replication is a matter of catch-up with some of the proprietary databases, explains Berkus. It basically says that you don't commit a transaction until it has also been written to a secondary server or more than one secondary server to ensure that no data is lost even if the primary goes down. However, with PostgreSQL 9.1's implementation of this capability, there is something called Transaction Controlled Synchronous Commit, which allows decisions to be made on an individual transaction or individual session whether the data is important enough that it needs to be syncronized.  "That results in a pretty significant performance optimization over the traditional way of doing synchronous replication," Berkus observes.

In addition, Serializable Snapshot Isolation, or SSI, implements "true serializability" without blocking, supporting  highly complex financial transactions at a high rate of concurrency.

According to the PostgreSQL project, this beta may be followed by more beta releases and one or more release candidates before final release. Users who are able to help with testing version 9.1, can see the Beta Testing HOWTO.

The PostgreSQL Project provides a downloads page, beta testing information,  and beta documentation.