Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

PostgreSQL 8.3 Feature List

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. For an even more compact format, see the feature matrix (English only).

Upgrade Warning

In order to uphold the PostgreSQL Project's very high standards for data integrity and reliability, in version 8.3 we have cleaned up some of the data type conversions ("casts"). This refactoring may cause problems for some users upgrading older applications which were written to be careless about data type comparisons, especially from versions of PostgreSQL which are several years old. Users who are upgrading very old applications, or who suspect that they may have some sloppy application or stored procedure code, should do extra testing before upgrading their production systems. See the release notes for more information.

Performance

Performance Consistency

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

HOT
Heap Only Tuple (HOT) dramatically reduces the database maintenance issues associated with frequently updated data, reducing the need to vacuum and giving substantial throughput improvements for some applications.
Asynchronous Commit
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.
Spread Checkpoints
Checkpoint autotuning: delays and spreads out checkpoints, reducing the impact of checkpoints on response times.
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, including:

Improved Recovery Times
The amount of I/O from the Write Ahead Log at recovery time has been halved through efficiency improvements.
Circular Buffer in Tuplestore
Dramatically speeds up small merge joins by avoiding the need to spill to disk.
Faster LIKE/ILIKE comparisons
Improves speed of partial matches, especially with multibyte encodings.
Top-N Sorting
Dramatically faster searches for results with LIMIT.
Lazy XID Assignment
Allows PostgreSQL to avoid assigning transaction IDs for some read-only queries, resulting in noticeably faster throughput on read-mostly or read-only databases.
Function Costing
Allows users to inform the query planner of estimated function execution costs and rows returned, resulting in better query plans.

Large Databases

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

Synchronized Scans
Allows "piggybacking" of large table scans by multiple users, tremendously reducing the overall I/O required.
L2 Cache Scan Protection
New code optimizations prevent thrashing CPU caches which slows concurrent queries.
Varlena Header Size Reduction ("Var-Varlena")
Shrinks header sizes for most variable size fields. Can shrink overall database size up to 20%.

Windows Performance

No, we haven't forgotten our Windows users. 8.3 may allow Windows to finally become 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.
Backend starting code redesign
Drastically reduces the memory space requirements in the postmaster, allowing for more parallel backends running on Windows.

Administration

While PostgreSQL already surpasses proprietary databases for ease of administration, there's always room for improvement. Therefore, we've added quite a few features to version 8.3 to make administering database servers easier and to provide more information to DBAs:

CSV Log Output
Logs to a database-loadable file, enabling the easy creation of ad-hoc auditing and performance analysis tools.
SSPI and GSSAPI Support
Kerberos authentication on PostgreSQL now supports the industry-standard secure APIs: SSPI on Windows and GSSAPI on Unix and Linux, making integration into large enterprise networks easier.
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.
Multiple Autovacuum Workers
Enables configurable parallelism for the PostgreSQL maintenance daemon, making autovacuum feasible for applications with thousands of tables.
pg_standby
An administrative tool which makes configuration of Warm Standby servers much easier.
ORDER BY Nulls First/Last
Permits specifying whether NULLs appear at the beggining or end of the result

Developers

Application Development

Many enhancements help PostgreSQL 8.3 match the top proprietary databases for supporting complex, multi-layered database applications, including :

Full Text Search
TSearch2, our cutting-edge full text search tool, has been fully integrated into the core code, and also has a cleaner API. This will both make TSearch2 easier to use and to extend with new languages, dictionaries and weighting systems.
Plan Invalidation
Both 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
New XML data type fully supports the SQL/XML specification of ANSI SQL:2003, including well-formedness checks, type-safe operations, SQL/XML publishing and XPath queries. Version 8.3 also includes additional functions for XML data export.
UUID
This new 128 bit type is compatible with most common GUID and UUID generators, supporting distributed application design.
Arrays of Compound Types
Arrays can now be created using compound types (types returning multiple columns for a single type, such as a table type or custom type).
ENUM
PostgreSQL now supports ENUM columns with a defined ordered list of alternatives. This will make migrating applications from MySQL to PostgreSQL easier.

Stored Procedures

Two new features expand the utility of PL/pgSQL, PostgreSQL's most popular stored procedure language:

Table Function Support
PL/pgSQL, our most popular procedural language, now supports a simplified syntax for row-returning functions.
Scrollable Cursors in PL/pgSQL
PL/pgSQL now also supports scrollable cursors, allowing PL/pgSQL procedures to perform complex row manipulations.

Accessories

Many important tools are not distributed with the PostgreSQL core code in order to keep the core distribution small and easily maintained. They are part of a collection of several hundred optional PostgreSQL components which support replication, high availability, language interfaces, application integration and experimental cutting-edge features, most of which are accessible from pgFoundry. The following PostgreSQL tools are being released for version 8.3, or achieved maturity during the 8.3 timeframe, including several replication systems which have been modified to use the new replication hooks in the 8.3 backend:

pgBouncer
This multi-threaded connection pooler allows a single PostgreSQL database server to support up to 100,000 application server connections.
PL/Proxy
A distributed, horizontally scaled table interface for PostgreSQL.
pgSNMP
A standards-compliant SNMP interface for PostgreSQL, simplifying integration with large server monitoring networks.
SEpgsql
A security extension based on SELinux model and policy which allows applying a unified SELinux policy to both the OS and DBMS.
PL/pgSQL Debugger
A new graphical interface which supports interactive debugging and step-through execution of PL/pgSQL procedures.
pgPool-II
Building on the success of pgPool, the new replicated query agent for PostgreSQL adds data partitioning.
Bucardo
PostgreSQL's first multi-master asynchronous replication system is now available.
CyberCluster
This newly open-sourced project integrates and improves several existing PostgreSQL clustering tools, such as pgCluster and pgPool.
Slony-I
Version 2.0 of Slony-I, our most popular replication system, now uses the new replication hooks in PostgreSQL 8.3.

Privacy Policy | Project hosted by our server sponsors. | Designed by tinysofa
Copyright © 1996 – 2010 PostgreSQL Global Development Group