Complete Feature List for 8.3 Release

The following list covers most, but not all, of the new features included in version 8.3. As there are a large number of features, they have been grouped by purpose and the descriptions kept brief. For more detail, see the PostgreSQL documentation and release notes.

Performance

Performance Consistency

These features improve PostgreSQL's ability to deliver consistent response times regardless of server load.

Allows the ability for COMMIT to return control without waiting for a physical disk write. This gives better response time at the expense of potentially losing a set amount of transactions in the event of system failure.

Load Distributed Checkpoints

Checkpoint auto-tuning delays and spreads out checkpoint writes, reducing the impact of checkpoints on response time when the system is under heavy load.

Just-in-time background writing strategy

Auto-tuning for the Background Writer estimates how many buffers it should try to clean based on statistics about recent activity.

Speed Improvements

Many new features significantly improve the speed of specific operations.

Circular Buffer in Tuplestore

Allows Merge Joins to avoid writing temporary files to disk if none of the values exceed available working memory, dramatically speeding up small merge joins.

Speed increases for LIKE/ILIKE searching

Top-N sorting optimizer improvements

Lazy XID Assignment

PostgreSQL transactions are all given a specific transaction id, and there is maintenance overhead required to make sure that these transaction ids never conflict. Now PostgreSQL only uses transaction ids for DDL/DML operations, which are typically the only ones where there's a significant need to record a transaction id. This should result in noticeably faster throughput on read-mostly or read-only databases.

Function Costing

Allows you to inform the query planner of estimated function execution costs and rows returned, resulting in better query plans when using custom functions.

Improved Recovery Times

Amount of I/O from the Write Ahead Log at recovery time has been halved through efficiency improvements.

Large Databases

A few improvements will allow users to run even larger data warehouses on PostgreSQL.

Synchronized Scans

When scanning large tables, this allows "piggybacking" onto the sequential scans of other users, tremendously reducing disk reads.

Windows Performance

No, we haven't forgotten our Windows users. 8.3 brings us closer to Windows being a first-class platform for PostgreSQL.

MS Visual C++ Support;

Allows the PostgreSQL source code to be compiled using Microsoft's C++ compiler, rather than the 3rd party MinGW toolset. This improves performance and stability on MS platforms. Anyone using PostgreSQL on Win32 will benefit, and since the standard Windows distribution uses it you don't need to do anything except upgrade.

Redesign of the backend starting code:

Drastically reduces the memory space requirements in the postmaster, allowing for more parallel backends running.

Administration

CSV Log output

Logs to a database-loadable file, enabling the easy creation of ad-hoc log and performance analysis tools.

GSSAPI and SSPI Support

PostgreSQL now supports the industry-standard secure API GSSAPI for authentication using Kerberos, making integration into large enterprise networks easier. On Windows, SSPI is also supported for both Kerberos and NTLM authentication.

Per Function GUC Settings

Allows for functions to have GUC settings embedded at function creation time. Especially helpful for things like defining the search path of a function at creation time, which tightens security.

Create table like including indexes

Modification to the ALTER TABLE syntax that allows one to also have indexes automatically created on the new table or partition.

Multiple Autovacuum Workers

Allows multiple processes to be launched from autovacuum, so that multiple tables can be vacuumed simultaneously. The are several options to control when and why the extra workers will be launched.

pg_standby

An administrative tool which makes configuration of Warm Standby servers much easier.

Developers

Application Development

Full Text Search;

TSearch2 has been fully integrated into the core code, with a cleaner API. This makes TSearch easier to use and to extend with new languages, dictionaries and weighting systems.

Plan Invalidation

Allows for clearing cached plans by application call and automatically dropping plans when tables are updated.

Updatable Cursors

Cursors now support WHERE CURRENT OF, making cursor-based application designs more flexible.

New Data Types

XML Support

This new data type (XML) validates input for well-formedness and has a set of type-safe operations.