A new version of PostgreSQL has been released with new features making it much more usable.
The highlights of the new release start with support for synchronous replication, which means you can set up databases that are replicated across multiple servers for applications where high availability is important.
Another improvement to high availability applications is support for serializable snapshot isolation; this means you can keep concurrent transactions consistent without blocking. The problem this solves is where you need all your transactions to behave as if they are running serially, but you don’t want to lock all the records involved because of the performance implications.
With true serializable transactions, if you can show that your transaction will do the right thing if there are no concurrent transactions, it will do the right thing in any mix of serializable transactions or be rolled back with a serialization failure.
The other main improvements are per-column collations and unlogged tables. Per-column collations means you can sort down at database, table or column levels in a linguistically correct way. Unlogged tables could be the most useful addition, as they mean you can get much better performance when working with temporary data.
Another improvement is the ability to carry out nearest neighbour indexing so you can do searches on ‘distance’ when working with locational data or when carrying out text searches. On the database engine, you now get foreign data wrappers so you can attach and query other databases from PostgreSQL.
You can read more details of all the new features on the PostgreSQL wiki and you can download the new version here: http://www.postgresql.org/download.
If you would like to be informed about new articles on I Programmer you can subscribe to our RSS feed, follow us on Twitter or Facebook or sign up for our weekly newsletter.