11월 17일자로 릴리즈되었습니다.
ftp://ftp.kr.postgresql.org/.3/postgresql/source/v7.4/
Release Notes
Release 7.4
Release date: 2003-11-17
_________________________________________________________________
Overview
Major changes in this release:
IN/NOT IN subqueries are now much more efficient
In previous releases, IN/NOT IN subqueries were joined to the
upper query by sequentially scanning the subquery looking for a
match. The 7.4 code uses the same sophisticated techniques used
by ordinary joins and so is much faster. An IN will now usually
be as fast as or faster than an equivalent EXISTS subquery;
this reverses the conventional wisdom that applied to previous
releases.
Improved GROUP BY processing by using hash buckets
In previous releases, rows to be grouped had to be sorted
first. The 7.4 code can do GROUP BY without sorting, by
accumulating results into a hash table with one entry per
group. It will still use the sort technique, however, if the
hash table is estimated to be too large to fit in sort_mem.
New multikey hash join capability
In previous releases, hash joins could only occur on single
keys. This release allows multicolumn hash joins.
Queries using the explicit JOIN syntax are now better optimized
Prior releases evaluated queries using the explicit JOIN syntax
only in the order implied by the syntax. 7.4 allows full
optimization of these queries, meaning the optimizer considers
all possible join orderings and chooses the most efficient.
Outer joins, however, must still follow the declared ordering.
Faster and more powerful regular expression code
The entire regular expression module has been replaced with a
new version by Henry Spencer, originally written for Tcl. The
code greatly improves performance and supports several flavors
of regular expressions.
Function-inlining for simple SQL functions
Simple SQL functions can now be inlined by including their SQL
in the main query. This improves performance by eliminating
per-call overhead. That means simple SQL functions now behave
like macros.
Full support for IPv6 connections and IPv6 address data types
Previous releases allowed only IPv4 connections, and the IP
data types only supported IPv4 addresses. This release adds
full IPv6 support in both of these areas.
Major improvements in SSL performance and reliability
Several people very familiar with the SSL API have overhauled
our SSL code to improve SSL key negotiation and error recovery.
Make free space map efficiently reuse empty index pages, and other
free space management improvements
In previous releases, B-tree index pages that were left empty
because of deleted rows could only be reused by rows with index
values similar to the rows originally indexed on that page. In
7.4, "VACUUM" records empty index pages and allows them to be
reused for any future index rows.
SQL-standard information schema
The information schema provides a standardized and stable way
to access information about the schema objects defined in a
database.
Cursors conform more closely to the SQL standard
The commands "FETCH" and "MOVE" have been overhauled to conform
more closely to the SQL standard.
Cursors can exist outside transactions
These cursors are also called holdable cursors.
New client-to-server protocol
The new protocol adds error codes, more status information,
faster startup, better support for binary data transmission,
parameter values separated from SQL commands, prepared
statements available at the protocol level, and cleaner
recovery from "COPY" failures. The older protocol is still
supported by both server and clients.
libpq and ECPG applications are now fully thread-safe
While previous libpq releases already supported threads, this
release improves thread safety by fixing some non-thread-safe
code that was used during database connection startup. The
"configure" option "--enable-thread-safety" must be used to
enable this feature.
New version of full-text indexing
A new full-text indexing suite is available in
"contrib/tsearch2".
New autovacuum tool
The new autovacuum tool in "contrib/autovacuum" monitors the
database statistics tables for "INSERT"/"UPDATE"/"DELETE"
activity and automatically vacuums tables when needed.
Array handling has been improved and moved into the server core
Many array limitations have been removed, and arrays behave
more like fully-supported data types.
_________________________________________________________________
|