PostgreSQL 8.3 now available
The developers of the open source database PostgreSQL have released version 8.3, with changes focused on improving performance. For instance, "Heat Only Tuples" (HOT) have been implemented to accelerate
UPDATEs that do not change indexed columns but help reuse unused table space, which reduces the number of complicated
VACUUM calls required. "Synchronised scans" allow the server to accelerate sequential table scans for multiple users by making do with a single scan of data records. It is now also possible to write data records asynchronously, which will speed up the program -- but it will also mean that you may lose data if the power goes out. The developers point out, however, that the consistency of the tables is not at stake; at most, individual data records could be lost.
There is also some news for developers: PostgreSQL now offers full text searches in the server. The
XML data type handles well-formed XML documents and offers SQL/XML functions in compliance with the SQL:2003 standard. The
xpath() handles XPATH expressions, allowing specific access to individual parts of an XML document. Other new data types include
UUID (Universally Unique Identifier), arrays for additional data types, and
ENUM for lists.
ORDER BY phrases can be used to indicate whether NULL values should appear first or last. Furthermore, updated, scrollable cursors have been added, as have a number of functions for regular expressions.
PostgreSQL 8.3 is available as source code and as executables for Windows, Linux and Solaris. If you want to switch from a previous version, a complete "export load" cycle must be performed, and that requires
pgdump. Developers and administrators are advised to read the release notes carefully because certain details have changed, for instance when data types are converted.
In version 8.4, the developers are planning a number of additional improvements, such as allowing for multiple database connections at the same time via
VACUUM through improved administration of unused data records, implementing a language for stored procedures that complies with ANSI, and supporting shared memory in accordance with POSIX specifications.