PostgreSQL 9.0 brings replication and more
The PostgreSQL developers have released version 9.0 of the open-source relational database. The PostgreSQL Global Development Group, the organisation behind PostgreSQL development, say that the release contains "advances in the areas of security, application support, monitoring, performance and the storage of speciality data".
The most prominent feature in the new release is integrated replication using "Hot Standby" and "Streaming Replication" while other features include full support for 64-bit Windows, improved reporting queries, SQL standard per-column triggers and enhanced Perl and Python integrations. For example, stored procedures and function can now be written in Python 3.1 and C and the support for Perl developers has been enhanced.
Streaming Replication allows a slave system to connect to the primary server and receive a stream of WAL (Write Ahead Log) records as they are generated, rather than having to wait for those records to be written to disk and picked up later. This allows the standby to be more up to date. Hot Standby allows connection to a server which is in recovery mode. While still in recovery mode the server can process read-only queries and can move to normal operations without disconnecting users.
Other changes include easier management of object permissions, with the ability to do mass changes on the permissions of existing objects and set the permissions applied to objects created in the future. BLOBs (large objects) now support permission management too. RADIUS authentication has been added while LDAP authentication has been improved and a new contributed module, passwordcheck, is able to check password strengths.
Moving to version 9.0 is made simpler for users of PostgreSQL 8.3 and 8.4 with the addition of
pg_upgrade, an in-place upgrading utility for existing databases. A complete list of the 200 additions and improvements can be found in the Release Notes. A What's new in PostgreSQL 9.0 wiki page provides detailed information on the changes.