New Advanced Database Features
Roles: PostgreSQL now supports database roles, which simplify
the management of large numbers of users with complex overlapping
database rights.
IN/OUT Parameters: PostgreSQL functions now support IN, OUT and INOUT
parameters, which substantially improves support of complex business logic for
J2EE and .NET applications.
Two-Phase Commit (2PC): long in demand for WAN applications and
heterogeneous data centers using PostgreSQL, this feature allows
ACID-compliant transactions across widely separated servers.
Performance Enhancements
Improved Multiprocessor (SMP) Performance: the buffer manager
for 8.1 has been enhanced to scale almost linearly with the
number of processors, leading to significant performance gains
on 8-way, 16-way, dual-core, and multi-core CPU servers.
Bitmap Scan: indexes will be dynamically converted to
bitmaps in memory when appropriate, giving up to twenty times
faster index performance on complex queries against very
large tables. This also helps simplify database management
by greatly reducing the need for multi-column indexes.
Table Partitioning: the query planner is now able to avoid
scanning whole sections of a large table using a technique known
as Constraint Exclusion. Similar to the Table Partitioning found
in other database management systems, this feature improves both
performance and data management for multi-gigabyte tables.
Shared Row Locking: PostgreSQL’s “better than row-level
locking” now supports even higher levels of concurrency through the
addition of shared row locks for foreign keys. Shared locks will improve
insert and update performance on many high-volume OLTP applications.
“PostgreSQL 8.1 offers a huge performance increase pretty much
across the board, [on our] dual processor Opteron production
servers,” said Merlin Moncure, Database Administrator for
Reliable Computer Solutions. “More specifically, I’m seeing
around 20% reduction in run times for simple queries and
an additional 20% reduction in CPU load, for a staggering 20-40%
improvement in server load characteristics.”
Read the announce.