mirror of
https://github.com/postgres/postgres.git
synced 2025-06-07 00:02:00 -04:00
Fix markup by using <note> for comments.
This commit is contained in:
parent
d8df98d026
commit
fcfbd434cc
523
HISTORY
523
HISTORY
@ -7,56 +7,84 @@
|
|||||||
|
|
||||||
Major changes in this release:
|
Major changes in this release:
|
||||||
|
|
||||||
Performance
|
* IN/NOT IN subqueries are now much more efficient
|
||||||
IN/NOT IN subqueries are now much more efficient [1]
|
|
||||||
|
Note: In previous releases, IN/NOT IN subqueries were joined to the
|
||||||
Improved GROUP BY processing by using hash buckets [2]
|
upper query by sequentially scanning the subquery looking for a
|
||||||
|
join. The 7.4 code uses the same sophisticated techniques used by
|
||||||
New multi-key hash join capability [3]
|
ordinary joins and so is much faster, and is now faster than EXISTS
|
||||||
|
subqueries.
|
||||||
ANSI joins are now better optimized [4]
|
* Improved GROUP BY processing by using hash buckets
|
||||||
|
|
||||||
Faster and more powerful regular expression code [5]
|
Note: In previous releases, GROUP BY totals were accumulated by
|
||||||
|
sequentially scanning the list of groups looking for a match; the
|
||||||
Function-inlining for simple SQL functions [6]
|
7.4 code places GROUP BY values in hash buckets so the proper match
|
||||||
|
can be found much quicker. This is particularly significant in
|
||||||
IPv6
|
speeding up queries that have a large number of distinct GROUP BY
|
||||||
Full support for IPv6 connections and IPv6 address data types
|
values.
|
||||||
[7]
|
* New multi-key hash join capability
|
||||||
|
|
||||||
SSL
|
Note: In previous releases, hash joins could only occur on
|
||||||
Major improvements in SSL performance and reliability [8]
|
single-column joins. This release allows multi-column hash joins.
|
||||||
|
* ANSI joins are now better optimized
|
||||||
Index Growth Prevention
|
|
||||||
Allow free space map to efficiently reuse empty index pages,
|
Note: Prior releases evaluated ANSI join syntax only in the order
|
||||||
and other free space management improvements. [9]
|
specified by the query; 7.4 allows full optimization of queries
|
||||||
|
using ANSI join syntax, meaning the optimizer considers all
|
||||||
Standards Compliance
|
possible join orderings and chooses the most efficient.
|
||||||
Implement information schema
|
* Faster and more powerful regular expression code
|
||||||
|
|
||||||
Support for read-only transactions
|
Note: The entire regular expression module has been replaced with a
|
||||||
|
new version by Henry Spencer, originally written for TCL. The code
|
||||||
Make cursors comply more closely with the SQL standard
|
greatly improves performance and supports several flavors of
|
||||||
|
regular expressions.
|
||||||
New Client/Server Communication Protocol
|
* Function-inlining for simple SQL functions
|
||||||
New protocol improves connection speed/reliability, and adds
|
|
||||||
error codes, status information, a binary protocol, error
|
Note: Simple SQL functions can now be inlined by including their
|
||||||
reporting verbosity, and cleaner startup packets.
|
SQL in the main query. This improves performance by preventing
|
||||||
|
repeated calls to the SQL function --- this allows simple SQL
|
||||||
Holdable Cursors
|
functions to behave like macros.
|
||||||
Allow cursors to exist outside transactions
|
* Full support for IPv6 connections and IPv6 address data types
|
||||||
|
|
||||||
Threads
|
Note: Prior releases allowed only IPv6 connections and IP data
|
||||||
libpq and ecpg are now fully thread-safe with
|
types only supported IPv4 addresses. This release adds full IPv6
|
||||||
--enable-thread-safety [10]
|
support in both of these areas.
|
||||||
|
* Major improvements in SSL performance and reliability
|
||||||
Contrib
|
|
||||||
New version of full text indexing (tsearch2)
|
Note: Several people very familiar with the SSL API have overhauled
|
||||||
|
our SSL code to improve SSL key negotiation and error recovery.
|
||||||
New autovacuum tool [11]
|
* Allow free space map to efficiently reuse empty index pages, and
|
||||||
|
other free space management improvements.
|
||||||
Array handling has been improved and moved into the main server
|
|
||||||
[12]
|
Note: In prior releases, index pages that were left empty because
|
||||||
|
of deleted rows could only be reused by rows with index values
|
||||||
|
similar to the original rows indexed on that page. In 7.4, VACUUM
|
||||||
|
records empty index pages and allows them to be used for any future
|
||||||
|
index rows.
|
||||||
|
* Implement information schema
|
||||||
|
* Support for read-only transactions
|
||||||
|
* Make cursors comply more closely with the SQL standard
|
||||||
|
* New protocol improves connection speed/reliability, and adds error
|
||||||
|
codes, status information, a binary protocol, error reporting
|
||||||
|
verbosity, and cleaner startup packets.
|
||||||
|
* Allow cursors to exist outside transactions, also called holdable
|
||||||
|
cursors
|
||||||
|
* libpq and ecpg are now fully thread-safe with
|
||||||
|
--enable-thread-safety
|
||||||
|
|
||||||
|
Note: While prior libpq releases already supported threads, this
|
||||||
|
release improves thread safety by fixing some non-thread-safe code
|
||||||
|
that was used in the database connection routines.
|
||||||
|
* New version of full text indexing in /contrib/tsearch2
|
||||||
|
* New autovacuum tool in /contrib
|
||||||
|
|
||||||
|
Note: This new tool 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 main server
|
||||||
|
|
||||||
|
Note: Many array limitations have been removed and they behave more
|
||||||
|
like fully-supported data types.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Migration to version 7.4
|
Migration to version 7.4
|
||||||
@ -67,16 +95,27 @@
|
|||||||
Observe the following incompatibilities:
|
Observe the following incompatibilities:
|
||||||
|
|
||||||
* The server-side autocommit setting was removed and reimplemented
|
* The server-side autocommit setting was removed and reimplemented
|
||||||
in client applications and languages. [13]
|
in client applications and languages.
|
||||||
|
|
||||||
|
Note: Server-side autocommit was causing too many problems with
|
||||||
|
languages and applications that wanted to control their own
|
||||||
|
autocommit behavior so autocommit was removed from the server and
|
||||||
|
added to individual client API's as appropriate.
|
||||||
* Error message wording has changed substantially in this release,
|
* Error message wording has changed substantially in this release,
|
||||||
and error codes have been added.
|
and error codes have been added.
|
||||||
* ANSI inner joins may behave differently because they are now
|
* ANSI inner joins may behave differently because they are now
|
||||||
better optimized
|
better optimized
|
||||||
* A number of server variables have been renamed for clarity,
|
* A number of server variables have been renamed for clarity,
|
||||||
primarily those related to logging
|
primarily those related to logging
|
||||||
* MOVE/FETCH 0 now does nothing [14]
|
* MOVE/FETCH 0 now does nothing
|
||||||
|
|
||||||
|
Note: In prior releases, FETCH 0 would fetch all remaining rows,
|
||||||
|
and MOVE 0 would move to the end of the cursor.
|
||||||
* MOVE/FETCH now returns the actual number of rows moved/fetched, or
|
* MOVE/FETCH now returns the actual number of rows moved/fetched, or
|
||||||
zero if at the beginning/end of the cursor [15]
|
zero if at the beginning/end of the cursor
|
||||||
|
|
||||||
|
Note: Prior releases would return the tuple count passed to the
|
||||||
|
command, not the actual number of rows FETCHed or MOVEd.
|
||||||
* COPY now can process carriage-return and carriage-return/line-feed
|
* COPY now can process carriage-return and carriage-return/line-feed
|
||||||
end-of-line terminated files.
|
end-of-line terminated files.
|
||||||
* Literal carriage-returns and line-feeds are no longer accepted as
|
* Literal carriage-returns and line-feeds are no longer accepted as
|
||||||
@ -85,37 +124,79 @@
|
|||||||
VARCHAR(n) / TEXT
|
VARCHAR(n) / TEXT
|
||||||
* FLOAT(p) now measures 'p' in bits, not digits
|
* FLOAT(p) now measures 'p' in bits, not digits
|
||||||
* Ambiguous date values now must match the ordering specified by
|
* Ambiguous date values now must match the ordering specified by
|
||||||
DateStyle [16]
|
DateStyle
|
||||||
|
|
||||||
|
Note: In prior releases, a date of 10/20/03 was interpreted as a
|
||||||
|
date in October even if the DateStyle specified the day should be
|
||||||
|
first. In 7.4, DateStyle is honored when converting such values and
|
||||||
|
will throw an error if the date is invalid for the current
|
||||||
|
DateStyle.
|
||||||
* The oidrand(), oidsrand(), and userfntest() functions have been
|
* The oidrand(), oidsrand(), and userfntest() functions have been
|
||||||
removed. [17]
|
removed.
|
||||||
|
|
||||||
|
Note: These functions were determined to be no longer useful.
|
||||||
* 'now' will no longer work as a column default; now() or
|
* 'now' will no longer work as a column default; now() or
|
||||||
CURRENT_TIMESTAMP should be used instead [18]
|
CURRENT_TIMESTAMP should be used instead
|
||||||
|
|
||||||
|
Note: In prior releases, there was special code so the string 'now'
|
||||||
|
was interpreted at "INSERT" time and not at table creation time,
|
||||||
|
but this work around didn't cover all cases. Release 7.4 now
|
||||||
|
requires that defaults be defined properly using the now() or the
|
||||||
|
special value CURRENT_TIMESTAMP. These will work in all situations.
|
||||||
* 'today' will no longer work as a column default; CURRENT_DATE
|
* 'today' will no longer work as a column default; CURRENT_DATE
|
||||||
should be used instead [19]
|
should be used instead
|
||||||
|
|
||||||
|
Note: Same description as above.
|
||||||
* Dollar sign ($) is no longer allowed in operator names
|
* Dollar sign ($) is no longer allowed in operator names
|
||||||
* Dollar sign ($) can be a non-first character in identifiers [20]
|
* Dollar sign ($) can be a non-first character in identifiers
|
||||||
|
|
||||||
|
Note: This was done to improve compatibility with other database
|
||||||
|
systems.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Changes
|
Server Operation Changes
|
||||||
|
|
||||||
Server Operation
|
|
||||||
|
|
||||||
* Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce,
|
* Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce,
|
||||||
Tom, Kurt Roeckx, Andrew Dunstan)
|
Tom, Kurt Roeckx, Andrew Dunstan)
|
||||||
* Fix SSL to handle errors cleanly (Nathan Mueller) [21]
|
* Fix SSL to handle errors cleanly (Nathan Mueller)
|
||||||
|
|
||||||
|
Note: In prior releases, certain rare SSL API error reports were
|
||||||
|
not handled correctly. This release fixes those problems.
|
||||||
|
gracefully.
|
||||||
* SSL protocol security and performance improvements (Sean
|
* SSL protocol security and performance improvements (Sean
|
||||||
Chittenden) [22]
|
Chittenden)
|
||||||
* Print lock information when a deadlock is detected (Tom) [23]
|
|
||||||
|
Note: SSL key renegotiation was happening too frequently, causing
|
||||||
|
poor SSL performance. Also, initial key handling was improved.
|
||||||
|
* Print lock information when a deadlock is detected (Tom)
|
||||||
|
|
||||||
|
Note: This allows easier debugging of deadlock situations.
|
||||||
* Update "/tmp" socket mod. times regularly to avoid their removal
|
* Update "/tmp" socket mod. times regularly to avoid their removal
|
||||||
(Tom) [24]
|
(Tom)
|
||||||
|
|
||||||
|
Note: This should help prevent "/tmp" directory cleaner
|
||||||
|
administration scripts from removing server socket files.
|
||||||
* Enable PAM for MAC OS X (Aaron Hillegass)
|
* Enable PAM for MAC OS X (Aaron Hillegass)
|
||||||
* Make btree indexes fully WAL-safe (Tom) [25]
|
* Make btree indexes fully WAL-safe (Tom)
|
||||||
|
|
||||||
|
Note: In prior releases, under certain rare cases, a server crash
|
||||||
|
could cause btree indexes to become corrupt. This release removes
|
||||||
|
those last few rare cases.
|
||||||
* Allow btree index compaction and empty page reuse (Tom)
|
* Allow btree index compaction and empty page reuse (Tom)
|
||||||
* Fix inconsistent index lookups during split of first root page
|
* Fix inconsistent index lookups during split of first root page
|
||||||
(Tom) [26]
|
(Tom)
|
||||||
|
|
||||||
|
Note: In prior releases, when a single-page index split into two
|
||||||
|
page, there was a brief period when another database session would
|
||||||
|
miss seeing an index entry. This failure was possible primarly on
|
||||||
|
multi-cpu machines. This release fixes that rare failure case.
|
||||||
* Improve free space map allocation logic (Tom)
|
* Improve free space map allocation logic (Tom)
|
||||||
* Preserve free space information between postmaster restarts (Tom)
|
* Preserve free space information between postmaster restarts (Tom)
|
||||||
[27]
|
|
||||||
|
Note: In prior releases, the free space map was not saved when the
|
||||||
|
postmaster was stopped, so newly started servers has no free space
|
||||||
|
information. This release saves the free space map, which is loaded
|
||||||
|
when the server is restarted.
|
||||||
* Set proper schema permissions in initdb (Peter)
|
* Set proper schema permissions in initdb (Peter)
|
||||||
* Add start time to pg_stat_activity (Neil)
|
* Add start time to pg_stat_activity (Neil)
|
||||||
* New code to detect corrupt disk pages; erase with
|
* New code to detect corrupt disk pages; erase with
|
||||||
@ -131,20 +212,32 @@ Server Operation
|
|||||||
detail (Tom)
|
detail (Tom)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Performance
|
Performance Changes
|
||||||
|
|
||||||
* Add hashing for GROUP BY aggregates (Tom)
|
* Add hashing for GROUP BY aggregates (Tom)
|
||||||
* Allow nested loops to be smarter about multicolumn indexes (Tom)
|
* Allow nested loops to be smarter about multicolumn indexes (Tom)
|
||||||
* Allow multi-key hash joins (Tom)
|
* Allow multi-key hash joins (Tom)
|
||||||
* Improve constant folding (Tom)
|
* Improve constant folding (Tom)
|
||||||
* Add ability to inline simple SQL functions (Tom)
|
* Add ability to inline simple SQL functions (Tom)
|
||||||
* Reduce memory usage for queries using complex functions (Tom) [28]
|
* Reduce memory usage for queries using complex functions (Tom)
|
||||||
* Improve GEQO optimizer performance (Tom) [29]
|
|
||||||
|
Note: In prior releases, functions returning allocated memory would
|
||||||
|
not free it until the query completed. This release allows the
|
||||||
|
freeing of function-allocated memory when the function call
|
||||||
|
completes, reducing the total memory used by functions.
|
||||||
|
* Improve GEQO optimizer performance (Tom)
|
||||||
|
|
||||||
|
Note: There were several inefficiencies in the way the GEQO
|
||||||
|
optimizer managed potential query paths. This release fixes this.
|
||||||
* Allow IN/NOT IN to be handled via hash tables (Tom)
|
* Allow IN/NOT IN to be handled via hash tables (Tom)
|
||||||
* Improve NOT IN (subquery) performance (Tom)
|
* Improve NOT IN (subquery) performance (Tom)
|
||||||
* Allow most IN subqueries to be processed as joins (Tom)
|
* Allow most IN subqueries to be processed as joins (Tom)
|
||||||
* Allow the postmaster to preload libraries using preload_libraries
|
* Allow the postmaster to preload libraries using preload_libraries
|
||||||
(Joe) [30]
|
(Joe)
|
||||||
|
|
||||||
|
Note: For shared libraries that require a long time to load, this
|
||||||
|
option is available so the library can be pre-loaded in the
|
||||||
|
postmaster and inherited by all database sessions.
|
||||||
* Improve optimizer cost computations, particularly for subqueries
|
* Improve optimizer cost computations, particularly for subqueries
|
||||||
(Tom)
|
(Tom)
|
||||||
* Avoid sort when subquery ORDER BY matches upper query (Tom)
|
* Avoid sort when subquery ORDER BY matches upper query (Tom)
|
||||||
@ -159,52 +252,106 @@ Performance
|
|||||||
(Henry Spencer, Tom)
|
(Henry Spencer, Tom)
|
||||||
* Use bit-mapped relation sets in the optimizer (Tom)
|
* Use bit-mapped relation sets in the optimizer (Tom)
|
||||||
* Improve backend startup time (Tom)
|
* Improve backend startup time (Tom)
|
||||||
|
|
||||||
|
Note: The new network protocol requires fewer network packets to
|
||||||
|
start a database session.
|
||||||
* Improve trigger/constraint performance (Stephan)
|
* Improve trigger/constraint performance (Stephan)
|
||||||
* Improve speed of col IN (const, const, const, ...) (Tom)
|
* Improve speed of col IN (const, const, const, ...) (Tom)
|
||||||
* Fix hash indexes which were broken in rare cases (Tom)
|
* Fix hash indexes which were broken in rare cases (Tom)
|
||||||
* Improve hash index concurrency and speed (Tom) [31]
|
* Improve hash index concurrency and speed (Tom)
|
||||||
|
|
||||||
|
Note: Prior releases suffered from poor hash index performance,
|
||||||
|
particularly for high concurrency situations. This release fixes
|
||||||
|
that, and the development group is interested in reports comparing
|
||||||
|
btree and hash index performance.
|
||||||
* Align shared buffers on 32-byte boundary for copy speed
|
* Align shared buffers on 32-byte boundary for copy speed
|
||||||
improvement (Manfred Spraul) [32]
|
improvement (Manfred Spraul)
|
||||||
|
|
||||||
|
Note: Certain CPU's perform faster data copies when addresses are
|
||||||
|
32-bit aligned.
|
||||||
* The NUMERIC datatype has been reimplemented for better performance
|
* The NUMERIC datatype has been reimplemented for better performance
|
||||||
(Tom) [33]
|
(Tom)
|
||||||
|
|
||||||
|
Note: NUMERIC used to be stored in base-100. The new code uses
|
||||||
|
base-10000, for significantly better performance.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Server Configuration
|
Server Configuration Changes
|
||||||
|
|
||||||
* Rename server parameter server_min_messages to log_min_messages
|
* Rename server parameter server_min_messages to log_min_messages
|
||||||
(Bruce) [34]
|
(Bruce)
|
||||||
|
|
||||||
|
Note: This was done so most parameters that control the server logs
|
||||||
|
being with log_.
|
||||||
* Rename show_*_stats to log_*_stats (Bruce)
|
* Rename show_*_stats to log_*_stats (Bruce)
|
||||||
* Rename show_source_port to log_source_port (Bruce)
|
* Rename show_source_port to log_source_port (Bruce)
|
||||||
* Rename hostname_lookup to log_hostname (Bruce)
|
* Rename hostname_lookup to log_hostname (Bruce)
|
||||||
* Add checkpoint_warning to warn of excessive checkpointing (Bruce)
|
* Add checkpoint_warning to warn of excessive checkpointing (Bruce)
|
||||||
|
|
||||||
|
Note: In prior releases, it was difficult to determine if
|
||||||
|
checkpoint was happening too frequently. This feature adds a
|
||||||
|
warning to the server logs when excessive checkpointing happens.
|
||||||
* New read-only server parameters for localization (Tom)
|
* New read-only server parameters for localization (Tom)
|
||||||
* Change debug server log messages to output as DEBUG rather than
|
* Change debug server log messages to output as DEBUG rather than
|
||||||
LOG (Bruce)
|
LOG (Bruce)
|
||||||
* Prevent server log variables from being turned off by non-super
|
* Prevent server log variables from being turned off by non-super
|
||||||
users (Bruce)
|
users (Bruce)
|
||||||
|
|
||||||
|
Note: This is a security feature so non-super-users can't disable
|
||||||
|
logging that was enabled by the administrator.
|
||||||
* log_min_messages/client_min_messages now controls debug_* output
|
* log_min_messages/client_min_messages now controls debug_* output
|
||||||
(Bruce)
|
(Bruce)
|
||||||
* Add Rendezvous server support (Chris Campbell)
|
|
||||||
|
Note: This centralizes client debug information so all debug output
|
||||||
|
can be sent to either the client or server logs.
|
||||||
|
* Add OS X Rendezvous server support (Chris Campbell)
|
||||||
|
|
||||||
|
Note: This allows OS X machines to query the network for available
|
||||||
|
PostgreSQL servers.
|
||||||
* Add ability to print only slow statements using
|
* Add ability to print only slow statements using
|
||||||
log_min_duration_statement (Christopher)
|
log_min_duration_statement (Christopher)
|
||||||
|
|
||||||
|
Note: This is an often requested debugging feature that allows
|
||||||
|
administrators to see only slow queries in their server logs.
|
||||||
* Allow pg_hba.conf to accept netmasks in CIDR format (Andrew
|
* Allow pg_hba.conf to accept netmasks in CIDR format (Andrew
|
||||||
Dunstan)
|
Dunstan)
|
||||||
|
|
||||||
|
Note: This allows administrators to merge the host IP address and
|
||||||
|
netmask fields into a single CIDR field in pg_hba.conf.
|
||||||
* New is_superuser read-only variable (Tom)
|
* New is_superuser read-only variable (Tom)
|
||||||
* New server-side parameter log_error_verbosity to control error
|
* New server-side parameter log_error_verbosity to control error
|
||||||
detail (Tom)
|
detail (Tom)
|
||||||
|
|
||||||
|
Note: This works with the new error reporting feature to supply
|
||||||
|
additional error information like hints, file names and line
|
||||||
|
numbers.
|
||||||
* postgres --describe-config now dumps server config variables
|
* postgres --describe-config now dumps server config variables
|
||||||
(Aizaz Ahmed, Peter)
|
(Aizaz Ahmed, Peter)
|
||||||
|
|
||||||
|
Note: This option is useful for administration tools that need to
|
||||||
|
know the configuration variable names and their minimum, maximums,
|
||||||
|
defaults, and descriptions.
|
||||||
* Make default shared_buffers 1000 and max_connections 100, if
|
* Make default shared_buffers 1000 and max_connections 100, if
|
||||||
possible (Tom)
|
possible (Tom)
|
||||||
|
|
||||||
|
Note: Prior versions defaulted to 64 shared buffers so PostgreSQL
|
||||||
|
would start on even old computers. This release tests the amount of
|
||||||
|
shared memory supported by the hardware and sizes it accordingly.
|
||||||
|
Of course, users are still encouraged to evaluate their resource
|
||||||
|
load and size shared_buffers accordingly.
|
||||||
* Add new columns in pg_settings: context, type, source, min_val,
|
* Add new columns in pg_settings: context, type, source, min_val,
|
||||||
max_val (Joe)
|
max_val (Joe)
|
||||||
* New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon
|
* New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon
|
||||||
Jensen)
|
Jensen)
|
||||||
|
|
||||||
|
Note: In prior releases, there was no way to prevent SSL
|
||||||
|
connections if both the client and server supported SSL. This
|
||||||
|
option allows that capability.
|
||||||
* Remove geqo_random_seed server parameter (Tom)
|
* Remove geqo_random_seed server parameter (Tom)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Queries
|
Query Changes
|
||||||
|
|
||||||
* New SQL-standard information schema (Peter)
|
* New SQL-standard information schema (Peter)
|
||||||
* Add read-only transactions (Peter)
|
* Add read-only transactions (Peter)
|
||||||
* Add server variable regex_flavor to control regular expression
|
* Add server variable regex_flavor to control regular expression
|
||||||
@ -222,8 +369,8 @@ Queries
|
|||||||
* Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter)
|
* Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Object Manipulation
|
Object Manipulation Changes
|
||||||
|
|
||||||
* Make CREATE SEQUENCE grammar more SQL1999 standards compliant
|
* Make CREATE SEQUENCE grammar more SQL1999 standards compliant
|
||||||
(Neil)
|
(Neil)
|
||||||
* Add FOR EACH STATEMENT statement-level triggers (Neil)
|
* Add FOR EACH STATEMENT statement-level triggers (Neil)
|
||||||
@ -245,8 +392,8 @@ Object Manipulation
|
|||||||
* Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter)
|
* Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Utility Commands
|
Utility Command Changes
|
||||||
|
|
||||||
* Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)
|
* Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)
|
||||||
* Allow cursors outside transactions using WITH HOLD (Neil)
|
* Allow cursors outside transactions using WITH HOLD (Neil)
|
||||||
* MOVE/FETCH 0 now does nothing (Bruce)
|
* MOVE/FETCH 0 now does nothing (Bruce)
|
||||||
@ -302,8 +449,8 @@ Utility Commands
|
|||||||
* Long options for pg_dump are now available on all platforms
|
* Long options for pg_dump are now available on all platforms
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Data Types and Functions
|
Data Type and Function Changes
|
||||||
|
|
||||||
* New extra_float_digits server parameter to control float precision
|
* New extra_float_digits server parameter to control float precision
|
||||||
display (Pedro Ferreira, Tom)
|
display (Pedro Ferreira, Tom)
|
||||||
* Allow +1300 as a numeric timezone specifier, for FJST (Tom)
|
* Allow +1300 as a numeric timezone specifier, for FJST (Tom)
|
||||||
@ -369,8 +516,8 @@ Data Types and Functions
|
|||||||
* Allow time to be specified as '040506' or '0405' (Tom)
|
* Allow time to be specified as '040506' or '0405' (Tom)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Server-side Languages
|
Server-side Language Changes
|
||||||
|
|
||||||
* Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row
|
* Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row
|
||||||
record var. (Tom)
|
record var. (Tom)
|
||||||
* Make PL/python's spi_execute interface handle NULLs properly
|
* Make PL/python's spi_execute interface handle NULLs properly
|
||||||
@ -391,8 +538,8 @@ Server-side Languages
|
|||||||
the parameter type list (Jan)
|
the parameter type list (Jan)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Psql
|
Psql Changes
|
||||||
|
|
||||||
* Add "\pset pager always" to always use pager (Greg)
|
* Add "\pset pager always" to always use pager (Greg)
|
||||||
* Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)
|
* Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)
|
||||||
* Reorder \? help into groupings (Harald Armin Massa, Bruce)
|
* Reorder \? help into groupings (Harald Armin Massa, Bruce)
|
||||||
@ -409,8 +556,8 @@ Psql
|
|||||||
* Long options for psql are now available on all platforms
|
* Long options for psql are now available on all platforms
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Libpq
|
Libpq Changes
|
||||||
|
|
||||||
* Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil)
|
* Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil)
|
||||||
* Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY
|
* Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY
|
||||||
(Bruce)
|
(Bruce)
|
||||||
@ -433,8 +580,8 @@ Libpq
|
|||||||
perform Bind/Execute of previously prepared statements (Tom)
|
perform Bind/Execute of previously prepared statements (Tom)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
JDBC
|
JDBC Changes
|
||||||
|
|
||||||
* Allow setNull on updateable resultsets
|
* Allow setNull on updateable resultsets
|
||||||
* Allow executeBatch on a prepared statement (Barry)
|
* Allow executeBatch on a prepared statement (Barry)
|
||||||
* Support SSL connections (Barry)
|
* Support SSL connections (Barry)
|
||||||
@ -442,8 +589,8 @@ JDBC
|
|||||||
* Add refcursor support (Nic Ferrier)
|
* Add refcursor support (Nic Ferrier)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Miscellaneous Interfaces
|
Miscellaneous Interface Changes
|
||||||
|
|
||||||
* Prevent possible memory leak or core dump during libpgtcl shutdown
|
* Prevent possible memory leak or core dump during libpgtcl shutdown
|
||||||
(Tom)
|
(Tom)
|
||||||
* Add ecpg Informix compatibility (Michael)
|
* Add ecpg Informix compatibility (Michael)
|
||||||
@ -453,8 +600,8 @@ Miscellaneous Interfaces
|
|||||||
* Move python client interface to http://www.pygresql.org (Marc)
|
* Move python client interface to http://www.pygresql.org (Marc)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Source Code
|
Source Code Changes
|
||||||
|
|
||||||
* Prevent need for separate platform geometry regression result
|
* Prevent need for separate platform geometry regression result
|
||||||
files (Tom)
|
files (Tom)
|
||||||
* Improved PPC locking primitive (Reinhard Max)
|
* Improved PPC locking primitive (Reinhard Max)
|
||||||
@ -481,8 +628,8 @@ Source Code
|
|||||||
* Generate a compile error if spinlock code is not found (Bruce)
|
* Generate a compile error if spinlock code is not found (Bruce)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Contrib
|
Contrib Changes
|
||||||
|
|
||||||
* Change dbmirror license to BSD
|
* Change dbmirror license to BSD
|
||||||
* Improve earthdistance (Bruno Wolff III)
|
* Improve earthdistance (Bruno Wolff III)
|
||||||
* Portability improvements to pgcrypto (Marko Kreen)
|
* Portability improvements to pgcrypto (Marko Kreen)
|
||||||
@ -510,8 +657,8 @@ Contrib
|
|||||||
* Remove array module because features now included by default (Joe)
|
* Remove array module because features now included by default (Joe)
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Other Uncategorized
|
Other Uncategorized Changes
|
||||||
|
|
||||||
* "DATESTYLE" can now be set to DMY, YMD, or MDY to specify input
|
* "DATESTYLE" can now be set to DMY, YMD, or MDY to specify input
|
||||||
field order
|
field order
|
||||||
* Input date order must now be YYYY-MM-DD (with 4-digit year) or
|
* Input date order must now be YYYY-MM-DD (with 4-digit year) or
|
||||||
@ -4709,171 +4856,3 @@ The following bugs have been fixed in postgres95-beta-0.02:
|
|||||||
Release date: 1995-05-01
|
Release date: 1995-05-01
|
||||||
|
|
||||||
Initial release.
|
Initial release.
|
||||||
|
|
||||||
Notes
|
|
||||||
|
|
||||||
[1]
|
|
||||||
|
|
||||||
In previous releases, IN/NOT IN subqueries were joined to the upper
|
|
||||||
query by sequentially scanning the subquery looking for a join. The
|
|
||||||
7.4 code uses the same sophisticated techniques used by ordinary joins
|
|
||||||
and so is much faster, and is now faster than EXISTS subqueries.
|
|
||||||
[2]
|
|
||||||
|
|
||||||
In previous releases, GROUP BY totals were accumulated by sequentially
|
|
||||||
scanning the list of groups looking for a match; the 7.4 code places
|
|
||||||
GROUP BY values in hash buckets so the proper match can be found much
|
|
||||||
quicker. This is particularly significant in speeding up queries that
|
|
||||||
have a large number of distinct GROUP BY values.
|
|
||||||
[3]
|
|
||||||
|
|
||||||
In previous releases, hash joins could only occur on single-column
|
|
||||||
joins. This release allows multi-column hash joins.
|
|
||||||
[4]
|
|
||||||
|
|
||||||
Prior releases evaluated ANSI join syntax only in the order specified
|
|
||||||
by the query; 7.4 allows full optimization of queries using ANSI join
|
|
||||||
syntax, meaning the optimizer considers all possible join orderings
|
|
||||||
and chooses the most efficient.
|
|
||||||
[5]
|
|
||||||
|
|
||||||
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.
|
|
||||||
[6]
|
|
||||||
|
|
||||||
Simple SQL functions can now be inlined by including their SQL in the
|
|
||||||
main query. This improves performance by preventing repeated calls to
|
|
||||||
the SQL function --- this allows simple SQL functions to behave like
|
|
||||||
macros.
|
|
||||||
[7]
|
|
||||||
|
|
||||||
Prior releases allowed only IPv6 connections and IP data types only
|
|
||||||
supported IPv4 addresses. This release adds full IPv6 support in both
|
|
||||||
of these areas.
|
|
||||||
[8]
|
|
||||||
|
|
||||||
Several people very familiar with the SSL API have overhauled our SSL
|
|
||||||
code to improve SSL key negotiation and error recovery.
|
|
||||||
[9]
|
|
||||||
|
|
||||||
In prior releases, index pages that were left empty because of deleted
|
|
||||||
rows could only be reused by rows with index values similar to the
|
|
||||||
original rows indexed on that page. In 7.4, VACUUM records empty index
|
|
||||||
pages and allows them to be used for any future index rows.
|
|
||||||
[10]
|
|
||||||
|
|
||||||
While prior libpq releases already supported threads, this release
|
|
||||||
improves thread safety by fixing some non-thread-safe code that was
|
|
||||||
used in the database connection routines.
|
|
||||||
[11]
|
|
||||||
|
|
||||||
This new tool monitors the database statistics tables for
|
|
||||||
INSERT/UPDATE/DELETE activity and automatically vacuums tables when
|
|
||||||
needed.
|
|
||||||
[12]
|
|
||||||
|
|
||||||
Many array limitations have been removed and they behave more like
|
|
||||||
fully-supported data types.
|
|
||||||
[13]
|
|
||||||
|
|
||||||
Server-side autocommit was causing too many problems with languages
|
|
||||||
and applications that wanted to control their own autocommit behavior
|
|
||||||
so autocommit was removed from the server and added to individual
|
|
||||||
client API's as appropriate.
|
|
||||||
[14]
|
|
||||||
|
|
||||||
In prior releases, FETCH 0 would fetch all remaining rows, and MOVE 0
|
|
||||||
would move to the end of the cursor.
|
|
||||||
[15]
|
|
||||||
|
|
||||||
Prior releases would return the tuple count passed to the command, not
|
|
||||||
the actual number of rows FETCHed or MOVEd.
|
|
||||||
[16]
|
|
||||||
|
|
||||||
In prior releases, a date of 10/20/03 was interpreted as a date in
|
|
||||||
October even if the DateStyle specified the day should be first. In
|
|
||||||
7.4, DateStyle is honored when converting such values and will throw
|
|
||||||
an error if the date is invalid for the current DateStyle.
|
|
||||||
[17]
|
|
||||||
|
|
||||||
These functions were determined to be no longer useful.
|
|
||||||
[18]
|
|
||||||
|
|
||||||
In prior releases, there was special code so the string 'now' was
|
|
||||||
interpreted at "INSERT" time and not at table creation time, but this
|
|
||||||
work around didn't cover all cases. Release 7.4 now requires that
|
|
||||||
defaults be defined properly using the now() or the special value
|
|
||||||
CURRENT_TIMESTAMP. These will work in all situations.
|
|
||||||
[19]
|
|
||||||
|
|
||||||
Same description as above.
|
|
||||||
[20]
|
|
||||||
|
|
||||||
This was done to improve compatibility with other database systems.
|
|
||||||
[21]
|
|
||||||
|
|
||||||
In prior releases, certain rare SSL API error reports were not handled
|
|
||||||
correctly. This release fixes those problems. gracefully.
|
|
||||||
[22]
|
|
||||||
|
|
||||||
SSL key renegotiation was happening too frequently, causing poor SSL
|
|
||||||
performance. Also, initial key handling was improved.
|
|
||||||
[23]
|
|
||||||
|
|
||||||
This allows easier debugging of deadlock situations.
|
|
||||||
[24]
|
|
||||||
|
|
||||||
This should help prevent "/tmp" directory cleaner administration
|
|
||||||
scripts from removing server socket files.
|
|
||||||
[25]
|
|
||||||
|
|
||||||
In prior releases, under certain rare cases, a server crash could
|
|
||||||
cause btree indexes to become corrupt. This release removes those last
|
|
||||||
few rare cases.
|
|
||||||
[26]
|
|
||||||
|
|
||||||
In prior releases, when a single-page index split into two page, there
|
|
||||||
was a brief period when another database session would miss seeing an
|
|
||||||
index entry. This failure was possible primarly on multi-cpu machines.
|
|
||||||
This release fixes that rare failure case.
|
|
||||||
[27]
|
|
||||||
|
|
||||||
In prior releases, the free space map was not saved when the
|
|
||||||
postmaster was stopped, so newly started servers has no free space
|
|
||||||
information. This release saves the free space map, which is loaded
|
|
||||||
when the server is restarted.
|
|
||||||
[28]
|
|
||||||
|
|
||||||
In prior releases, functions returning allocated memory would not free
|
|
||||||
it until the query completed. This release allows the freeing of
|
|
||||||
function-allocated memory when the function call completes, reducing
|
|
||||||
the total memory used by functions.
|
|
||||||
[29]
|
|
||||||
|
|
||||||
There were several inefficiencies in the way the GEQO optimizer
|
|
||||||
managed potential query paths. This release fixes this.
|
|
||||||
[30]
|
|
||||||
|
|
||||||
For shared libraries that require a long time to load, this option is
|
|
||||||
available so the library can be pre-loaded in the postmaster and
|
|
||||||
inherited by all database sessions.
|
|
||||||
[31]
|
|
||||||
|
|
||||||
Prior releases suffered from poor hash index performance, particularly
|
|
||||||
for high concurrency situations. This release fixes that, and the
|
|
||||||
development group is interested in reports comparing btree and hash
|
|
||||||
index performance.
|
|
||||||
[32]
|
|
||||||
|
|
||||||
Certain CPU's perform faster data copies when addresses are 32-bit
|
|
||||||
aligned.
|
|
||||||
[33]
|
|
||||||
|
|
||||||
NUMERIC used to be stored in base-100. The new code uses base-10000,
|
|
||||||
for significantly better performance.
|
|
||||||
[34]
|
|
||||||
|
|
||||||
This was done so most parameters that control the server logs being
|
|
||||||
with log_.
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.226 2003/10/30 20:31:24 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.227 2003/10/30 20:49:47 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<appendix id="release">
|
<appendix id="release">
|
||||||
@ -14,7 +14,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.226 2003/10/30 20:31:24 mo
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem><para> IN/NOT IN subqueries are now much more efficient</para>
|
<listitem><para> IN/NOT IN subqueries are now much more efficient</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In previous releases, IN/NOT IN subqueries were joined to the
|
In previous releases, IN/NOT IN subqueries were joined to the
|
||||||
upper query by sequentially scanning the subquery looking for
|
upper query by sequentially scanning the subquery looking for
|
||||||
@ -22,11 +22,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.226 2003/10/30 20:31:24 mo
|
|||||||
used by ordinary joins and so is much faster, and is now faster
|
used by ordinary joins and so is much faster, and is now faster
|
||||||
than EXISTS subqueries.
|
than EXISTS subqueries.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Improved GROUP BY processing by using hash buckets</para>
|
<listitem><para> Improved GROUP BY processing by using hash buckets</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In previous releases, GROUP BY totals were accumulated by
|
In previous releases, GROUP BY totals were accumulated by
|
||||||
sequentially scanning the list of groups looking for a match;
|
sequentially scanning the list of groups looking for a match;
|
||||||
@ -35,76 +35,76 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.226 2003/10/30 20:31:24 mo
|
|||||||
significant in speeding up queries that have a large
|
significant in speeding up queries that have a large
|
||||||
number of distinct GROUP BY values.
|
number of distinct GROUP BY values.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> New multi-key hash join capability</para>
|
<listitem><para> New multi-key hash join capability</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In previous releases, hash joins could only occur on single-column
|
In previous releases, hash joins could only occur on single-column
|
||||||
joins. This release allows multi-column hash joins.
|
joins. This release allows multi-column hash joins.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> ANSI joins are now better optimized</para>
|
<listitem><para> ANSI joins are now better optimized</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Prior releases evaluated ANSI join syntax only in the order
|
Prior releases evaluated ANSI join syntax only in the order
|
||||||
specified by the query; 7.4 allows full optimization of
|
specified by the query; 7.4 allows full optimization of
|
||||||
queries using ANSI join syntax, meaning the optimizer considers
|
queries using ANSI join syntax, meaning the optimizer considers
|
||||||
all possible join orderings and chooses the most efficient.
|
all possible join orderings and chooses the most efficient.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Faster and more powerful regular expression code
|
<listitem><para> Faster and more powerful regular expression code
|
||||||
</para>
|
</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
The entire regular expression module has been replaced with a new
|
The entire regular expression module has been replaced with a new
|
||||||
version by Henry Spencer, originally written for TCL. The code
|
version by Henry Spencer, originally written for TCL. The code
|
||||||
greatly improves performance and supports several flavors
|
greatly improves performance and supports several flavors
|
||||||
of regular expressions.
|
of regular expressions.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Function-inlining for simple SQL functions</para>
|
<listitem><para> Function-inlining for simple SQL functions</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Simple SQL functions can now be inlined by including their SQL
|
Simple SQL functions can now be inlined by including their SQL
|
||||||
in the main query. This improves performance by preventing
|
in the main query. This improves performance by preventing
|
||||||
repeated calls to the SQL function --- this allows simple
|
repeated calls to the SQL function --- this allows simple
|
||||||
SQL functions to behave like macros.
|
SQL functions to behave like macros.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Full support for IPv6 connections and IPv6 address
|
<listitem><para> Full support for IPv6 connections and IPv6 address
|
||||||
data types</para>
|
data types</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Prior releases allowed only IPv6 connections and IP data types only
|
Prior releases allowed only IPv6 connections and IP data types only
|
||||||
supported IPv4 addresses. This release adds full IPv6 support in
|
supported IPv4 addresses. This release adds full IPv6 support in
|
||||||
both of these areas.
|
both of these areas.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Major improvements in SSL performance and
|
<listitem><para> Major improvements in SSL performance and
|
||||||
reliability</para>
|
reliability</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Several people very familiar with the SSL API have overhauled our
|
Several people very familiar with the SSL API have overhauled our
|
||||||
SSL code to improve SSL key negotiation and error recovery.
|
SSL code to improve SSL key negotiation and error recovery.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Allow free space map to efficiently reuse empty index
|
<listitem><para> Allow free space map to efficiently reuse empty index
|
||||||
pages, and other free space management improvements.</para>
|
pages, and other free space management improvements.</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, index pages that were left empty because of
|
In prior releases, index pages that were left empty because of
|
||||||
deleted rows could only be reused by rows with index values similar
|
deleted rows could only be reused by rows with index values similar
|
||||||
@ -112,7 +112,7 @@ pages, and other free space management improvements.</para>
|
|||||||
empty index pages and allows them to be used for any future index
|
empty index pages and allows them to be used for any future index
|
||||||
rows.
|
rows.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para>Implement information schema</para>
|
<listitem><para>Implement information schema</para>
|
||||||
@ -122,51 +122,51 @@ pages, and other free space management improvements.</para>
|
|||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para>Make cursors comply more closely with the SQL standard
|
<listitem><para>Make cursors comply more closely with the SQL standard
|
||||||
</para></glossdef>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> New protocol improves connection speed/reliability,
|
<listitem><para> New protocol improves connection speed/reliability,
|
||||||
and adds error codes, status information, a binary protocol, error
|
and adds error codes, status information, a binary protocol, error
|
||||||
reporting verbosity, and cleaner startup packets.</para></glossdef>
|
reporting verbosity, and cleaner startup packets.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><glossdef><para> Allow cursors to exist outside transactions,
|
<listitem><para> Allow cursors to exist outside transactions,
|
||||||
also called holdable cursors
|
also called holdable cursors
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><glossdef><para> libpq and ecpg are now fully thread-safe with
|
<listitem><para> libpq and ecpg are now fully thread-safe with
|
||||||
--enable-thread-safety</para>
|
--enable-thread-safety</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
While prior libpq releases already supported threads, this release
|
While prior libpq releases already supported threads, this release
|
||||||
improves thread safety by fixing some non-thread-safe code that
|
improves thread safety by fixing some non-thread-safe code that
|
||||||
was used in the database connection routines.
|
was used in the database connection routines.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> New version of full text indexing in /contrib/tsearch2</para>
|
<listitem><para> New version of full text indexing in /contrib/tsearch2</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> New autovacuum tool in /contrib</para>
|
<listitem><para> New autovacuum tool in /contrib</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This new tool monitors the database statistics tables for
|
This new tool monitors the database statistics tables for
|
||||||
INSERT/UPDATE/DELETE activity and automatically vacuums tables when
|
INSERT/UPDATE/DELETE activity and automatically vacuums tables when
|
||||||
needed.
|
needed.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem><para> Array handling has been improved and moved into the main
|
<listitem><para> Array handling has been improved and moved into the main
|
||||||
server</para>
|
server</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Many array limitations have been removed and they behave more like
|
Many array limitations have been removed and they behave more like
|
||||||
fully-supported data types.
|
fully-supported data types.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></para></sect2>
|
</itemizedlist></para></sect2>
|
||||||
|
|
||||||
@ -179,14 +179,14 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para> The server-side autocommit setting was removed and reimplemented
|
<listitem><para> The server-side autocommit setting was removed and reimplemented
|
||||||
in client applications and languages.</para>
|
in client applications and languages.</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Server-side autocommit was causing too many problems with
|
Server-side autocommit was causing too many problems with
|
||||||
languages and applications that wanted to control their own
|
languages and applications that wanted to control their own
|
||||||
autocommit behavior so autocommit was removed from the server
|
autocommit behavior so autocommit was removed from the server
|
||||||
and added to individual client API's as appropriate.
|
and added to individual client API's as appropriate.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> Error message wording has changed substantially in this release,
|
<listitem><para> Error message wording has changed substantially in this release,
|
||||||
and error codes have been added.</para></listitem>
|
and error codes have been added.</para></listitem>
|
||||||
@ -194,21 +194,21 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<listitem><para> A number of server variables have been renamed for
|
<listitem><para> A number of server variables have been renamed for
|
||||||
clarity, primarily those related to logging</para></listitem>
|
clarity, primarily those related to logging</para></listitem>
|
||||||
<listitem><para> MOVE/FETCH 0 now does nothing</para>
|
<listitem><para> MOVE/FETCH 0 now does nothing</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, FETCH 0 would fetch all remaining rows, and
|
In prior releases, FETCH 0 would fetch all remaining rows, and
|
||||||
MOVE 0 would move to the end of the cursor.
|
MOVE 0 would move to the end of the cursor.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
|
<listitem><para> MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
|
||||||
if at the beginning/end of the cursor</para>
|
if at the beginning/end of the cursor</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Prior releases would return the tuple count passed to the
|
Prior releases would return the tuple count passed to the
|
||||||
command, not the actual number of rows FETCHed or MOVEd.
|
command, not the actual number of rows FETCHed or MOVEd.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> COPY now can process carriage-return and
|
<listitem><para> COPY now can process carriage-return and
|
||||||
carriage-return/line-feed end-of-line terminated files.</para></listitem>
|
carriage-return/line-feed end-of-line terminated files.</para></listitem>
|
||||||
@ -219,29 +219,29 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<type>VARCHAR(n)</type> / <type>TEXT</type></para></listitem>
|
<type>VARCHAR(n)</type> / <type>TEXT</type></para></listitem>
|
||||||
<listitem><para> <function>FLOAT(p)</function> now measures 'p' in bits, not digits</para></listitem>
|
<listitem><para> <function>FLOAT(p)</function> now measures 'p' in bits, not digits</para></listitem>
|
||||||
<listitem><para> Ambiguous date values now must match the ordering specified by DateStyle</para>
|
<listitem><para> Ambiguous date values now must match the ordering specified by DateStyle</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, a date of <literal>10/20/03</> was
|
In prior releases, a date of <literal>10/20/03</> was
|
||||||
interpreted as a date in October even if the
|
interpreted as a date in October even if the
|
||||||
<varname>DateStyle</> specified the day should be first. In
|
<varname>DateStyle</> specified the day should be first. In
|
||||||
7.4, <varname>DateStyle</> is honored when converting such
|
7.4, <varname>DateStyle</> is honored when converting such
|
||||||
values and will throw an error if the date is invalid for the
|
values and will throw an error if the date is invalid for the
|
||||||
current <varname>DateStyle</>.
|
current <varname>DateStyle</>.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> The <function>oidrand()</function>, <function>oidsrand()</function>,
|
<listitem><para> The <function>oidrand()</function>, <function>oidsrand()</function>,
|
||||||
and <function>userfntest()</function> functions have been removed.</para>
|
and <function>userfntest()</function> functions have been removed.</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
These functions were determined to be no longer useful.
|
These functions were determined to be no longer useful.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> <literal>'now'</literal> will no longer work as a column default; <function>now()</> or
|
<listitem><para> <literal>'now'</literal> will no longer work as a column default; <function>now()</> or
|
||||||
<function>CURRENT_TIMESTAMP</> should be used instead</para>
|
<function>CURRENT_TIMESTAMP</> should be used instead</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, there was special code so the string
|
In prior releases, there was special code so the string
|
||||||
<literal>'now'</literal> was interpreted at
|
<literal>'now'</literal> was interpreted at
|
||||||
<command>INSERT</> time and not at table creation time, but
|
<command>INSERT</> time and not at table creation time, but
|
||||||
@ -250,25 +250,25 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<function>now()</> or the special value
|
<function>now()</> or the special value
|
||||||
<function>CURRENT_TIMESTAMP</>. These will work in all
|
<function>CURRENT_TIMESTAMP</>. These will work in all
|
||||||
situations.
|
situations.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> <literal>'today'</literal> will no longer work as a column default; <function>CURRENT_DATE</>
|
<listitem><para> <literal>'today'</literal> will no longer work as a column default; <function>CURRENT_DATE</>
|
||||||
should be used instead</para>
|
should be used instead</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Same description as above.
|
Same description as above.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed in operator names</para></listitem>
|
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed in operator names</para></listitem>
|
||||||
<listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers</para>
|
<listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This was done to improve compatibility with other database
|
This was done to improve compatibility with other database
|
||||||
systems.
|
systems.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></para></sect2>
|
</itemizedlist></para></sect2>
|
||||||
|
|
||||||
@ -277,68 +277,68 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<listitem><para>Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
|
<listitem><para>Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
|
||||||
Roeckx, Andrew Dunstan)</para></listitem>
|
Roeckx, Andrew Dunstan)</para></listitem>
|
||||||
<listitem><para>Fix SSL to handle errors cleanly (Nathan Mueller)
|
<listitem><para>Fix SSL to handle errors cleanly (Nathan Mueller)
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, certain rare SSL API error reports were not
|
In prior releases, certain rare SSL API error reports were not
|
||||||
handled correctly. This release fixes those problems.
|
handled correctly. This release fixes those problems.
|
||||||
gracefully.
|
gracefully.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)</para>
|
<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
SSL key renegotiation was happening too frequently, causing poor SSL
|
SSL key renegotiation was happening too frequently, causing poor SSL
|
||||||
performance. Also, initial key handling was improved.
|
performance. Also, initial key handling was improved.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Print lock information when a deadlock is detected (Tom)</para>
|
<listitem><para>Print lock information when a deadlock is detected (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This allows easier debugging of deadlock situations.
|
This allows easier debugging of deadlock situations.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)</para>
|
<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This should help prevent <filename>/tmp</filename> directory cleaner
|
This should help prevent <filename>/tmp</filename> directory cleaner
|
||||||
administration scripts from removing server socket files.
|
administration scripts from removing server socket files.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Enable PAM for MAC OS X (Aaron Hillegass)</para></listitem>
|
<listitem><para>Enable PAM for MAC OS X (Aaron Hillegass)</para></listitem>
|
||||||
<listitem><para>Make btree indexes fully WAL-safe (Tom)</para>
|
<listitem><para>Make btree indexes fully WAL-safe (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, under certain rare cases, a server crash could
|
In prior releases, under certain rare cases, a server crash could
|
||||||
cause btree indexes to become corrupt. This release removes those
|
cause btree indexes to become corrupt. This release removes those
|
||||||
last few rare cases.
|
last few rare cases.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Allow btree index compaction and empty page reuse (Tom)</para></listitem>
|
<listitem><para>Allow btree index compaction and empty page reuse (Tom)</para></listitem>
|
||||||
<listitem><para>Fix inconsistent index lookups during split of first root page (Tom)</para>
|
<listitem><para>Fix inconsistent index lookups during split of first root page (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, when a single-page index split into two page,
|
In prior releases, when a single-page index split into two page,
|
||||||
there was a brief period when another database session would miss
|
there was a brief period when another database session would miss
|
||||||
seeing an index entry. This failure was possible primarly on
|
seeing an index entry. This failure was possible primarly on
|
||||||
multi-cpu machines. This release fixes that rare failure case.
|
multi-cpu machines. This release fixes that rare failure case.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Improve free space map allocation logic (Tom)</para></listitem>
|
<listitem><para>Improve free space map allocation logic (Tom)</para></listitem>
|
||||||
<listitem><para>Preserve free space information between postmaster restarts (Tom)</para>
|
<listitem><para>Preserve free space information between postmaster restarts (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, the free space map was not saved when the
|
In prior releases, the free space map was not saved when the
|
||||||
postmaster was stopped, so newly started servers has no free space
|
postmaster was stopped, so newly started servers has no free space
|
||||||
information. This release saves the free space map, which is loaded
|
information. This release saves the free space map, which is loaded
|
||||||
when the server is restarted.
|
when the server is restarted.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Set proper schema permissions in initdb (Peter)</para></listitem>
|
<listitem><para>Set proper schema permissions in initdb (Peter)</para></listitem>
|
||||||
<listitem><para>Add start time to pg_stat_activity (Neil)</para></listitem>
|
<listitem><para>Add start time to pg_stat_activity (Neil)</para></listitem>
|
||||||
@ -361,34 +361,34 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<listitem><para>Improve constant folding (Tom)</para></listitem>
|
<listitem><para>Improve constant folding (Tom)</para></listitem>
|
||||||
<listitem><para>Add ability to inline simple SQL functions (Tom)</para></listitem>
|
<listitem><para>Add ability to inline simple SQL functions (Tom)</para></listitem>
|
||||||
<listitem><para>Reduce memory usage for queries using complex functions (Tom)</para>
|
<listitem><para>Reduce memory usage for queries using complex functions (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, functions returning allocated memory would
|
In prior releases, functions returning allocated memory would
|
||||||
not free it until the query completed. This release allows the
|
not free it until the query completed. This release allows the
|
||||||
freeing of function-allocated memory when the function call
|
freeing of function-allocated memory when the function call
|
||||||
completes, reducing the total memory used by functions.
|
completes, reducing the total memory used by functions.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Improve GEQO optimizer performance (Tom)</para>
|
<listitem><para>Improve GEQO optimizer performance (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
There were several inefficiencies in the way the GEQO optimizer
|
There were several inefficiencies in the way the GEQO optimizer
|
||||||
managed potential query paths. This release fixes this.
|
managed potential query paths. This release fixes this.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Allow IN/NOT IN to be handled via hash tables (Tom)</para></listitem>
|
<listitem><para>Allow IN/NOT IN to be handled via hash tables (Tom)</para></listitem>
|
||||||
<listitem><para>Improve NOT IN (subquery) performance (Tom)</para></listitem>
|
<listitem><para>Improve NOT IN (subquery) performance (Tom)</para></listitem>
|
||||||
<listitem><para>Allow most IN subqueries to be processed as joins (Tom)</para></listitem>
|
<listitem><para>Allow most IN subqueries to be processed as joins (Tom)</para></listitem>
|
||||||
<listitem><para>Allow the postmaster to preload libraries using preload_libraries (Joe)</para>
|
<listitem><para>Allow the postmaster to preload libraries using preload_libraries (Joe)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
For shared libraries that require a long time to load, this option
|
For shared libraries that require a long time to load, this option
|
||||||
is available so the library can be pre-loaded in the postmaster and
|
is available so the library can be pre-loaded in the postmaster and
|
||||||
inherited by all database sessions.
|
inherited by all database sessions.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Improve optimizer cost computations, particularly for subqueries (Tom)</para></listitem>
|
<listitem><para>Improve optimizer cost computations, particularly for subqueries (Tom)</para></listitem>
|
||||||
<listitem><para>Avoid sort when subquery ORDER BY matches upper query (Tom)</para></listitem>
|
<listitem><para>Avoid sort when subquery ORDER BY matches upper query (Tom)</para></listitem>
|
||||||
@ -400,41 +400,41 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<listitem><para>Use faster and more powerful regular expression code from TCL (Henry Spencer, Tom)</para></listitem>
|
<listitem><para>Use faster and more powerful regular expression code from TCL (Henry Spencer, Tom)</para></listitem>
|
||||||
<listitem><para>Use bit-mapped relation sets in the optimizer (Tom)</para></listitem>
|
<listitem><para>Use bit-mapped relation sets in the optimizer (Tom)</para></listitem>
|
||||||
<listitem><para>Improve backend startup time (Tom)</para>
|
<listitem><para>Improve backend startup time (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
The new network protocol requires fewer network packets to start a
|
The new network protocol requires fewer network packets to start a
|
||||||
database session.
|
database session.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Improve trigger/constraint performance (Stephan)</para></listitem>
|
<listitem><para>Improve trigger/constraint performance (Stephan)</para></listitem>
|
||||||
<listitem><para>Improve speed of col IN (const, const, const, ...) (Tom)</para></listitem>
|
<listitem><para>Improve speed of col IN (const, const, const, ...) (Tom)</para></listitem>
|
||||||
<listitem><para>Fix hash indexes which were broken in rare cases (Tom)</para></listitem>
|
<listitem><para>Fix hash indexes which were broken in rare cases (Tom)</para></listitem>
|
||||||
<listitem><para>Improve hash index concurrency and speed (Tom)</para>
|
<listitem><para>Improve hash index concurrency and speed (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Prior releases suffered from poor hash index performance,
|
Prior releases suffered from poor hash index performance,
|
||||||
particularly for high concurrency situations. This release fixes
|
particularly for high concurrency situations. This release fixes
|
||||||
that, and the development group is interested in reports comparing
|
that, and the development group is interested in reports comparing
|
||||||
btree and hash index performance.
|
btree and hash index performance.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)</para>
|
<listitem><para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Certain CPU's perform faster data copies when addresses are 32-bit
|
Certain CPU's perform faster data copies when addresses are 32-bit
|
||||||
aligned.
|
aligned.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>The NUMERIC datatype has been reimplemented for better performance (Tom)</para>
|
<listitem><para>The NUMERIC datatype has been reimplemented for better performance (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
NUMERIC used to be stored in base-100. The new code uses base-10000,
|
NUMERIC used to be stored in base-100. The new code uses base-10000,
|
||||||
for significantly better performance.
|
for significantly better performance.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></sect2>
|
</itemizedlist></sect2>
|
||||||
|
|
||||||
@ -442,88 +442,88 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)</para>
|
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This was done so most parameters that control the server logs being
|
This was done so most parameters that control the server logs being
|
||||||
with <literal>log_</>.
|
with <literal>log_</>.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Rename show_*_stats to log_*_stats (Bruce)</para></listitem>
|
<listitem><para>Rename show_*_stats to log_*_stats (Bruce)</para></listitem>
|
||||||
<listitem><para>Rename show_source_port to log_source_port (Bruce)</para></listitem>
|
<listitem><para>Rename show_source_port to log_source_port (Bruce)</para></listitem>
|
||||||
<listitem><para>Rename hostname_lookup to log_hostname (Bruce)</para></listitem>
|
<listitem><para>Rename hostname_lookup to log_hostname (Bruce)</para></listitem>
|
||||||
<listitem><para>Add checkpoint_warning to warn of excessive checkpointing (Bruce)</para>
|
<listitem><para>Add checkpoint_warning to warn of excessive checkpointing (Bruce)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, it was difficult to determine if checkpoint was
|
In prior releases, it was difficult to determine if checkpoint was
|
||||||
happening too frequently. This feature adds a warning to the server
|
happening too frequently. This feature adds a warning to the server
|
||||||
logs when excessive checkpointing happens.
|
logs when excessive checkpointing happens.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>New read-only server parameters for localization (Tom)</para></listitem>
|
<listitem><para>New read-only server parameters for localization (Tom)</para></listitem>
|
||||||
<listitem><para>Change debug server log messages to output as DEBUG rather than LOG (Bruce)</para></listitem>
|
<listitem><para>Change debug server log messages to output as DEBUG rather than LOG (Bruce)</para></listitem>
|
||||||
<listitem><para>Prevent server log variables from being turned off by non-super users (Bruce)</para>
|
<listitem><para>Prevent server log variables from being turned off by non-super users (Bruce)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This is a security feature so non-super-users can't disable logging
|
This is a security feature so non-super-users can't disable logging
|
||||||
that was enabled by the administrator.
|
that was enabled by the administrator.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>log_min_messages/client_min_messages now controls debug_* output (Bruce)</para>
|
<listitem><para>log_min_messages/client_min_messages now controls debug_* output (Bruce)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This centralizes client debug information so all debug output can
|
This centralizes client debug information so all debug output can
|
||||||
be sent to either the client or server logs.
|
be sent to either the client or server logs.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Add OS X Rendezvous server support (Chris Campbell)</para>
|
<listitem><para>Add OS X Rendezvous server support (Chris Campbell)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This allows OS X machines to query the network for available
|
This allows OS X machines to query the network for available
|
||||||
PostgreSQL servers.
|
PostgreSQL servers.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Add ability to print only slow statements using log_min_duration_statement
|
<listitem><para>Add ability to print only slow statements using log_min_duration_statement
|
||||||
(Christopher)</para>
|
(Christopher)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This is an often requested debugging feature that allows administrators to
|
This is an often requested debugging feature that allows administrators to
|
||||||
see only slow queries in their server logs.</para>
|
see only slow queries in their server logs.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan)</para>
|
<listitem><para>Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This allows administrators to merge the host IP address and netmask
|
This allows administrators to merge the host IP address and netmask
|
||||||
fields into a single CIDR field in pg_hba.conf.
|
fields into a single CIDR field in pg_hba.conf.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>New is_superuser read-only variable (Tom)</para></listitem>
|
<listitem><para>New is_superuser read-only variable (Tom)</para></listitem>
|
||||||
<listitem><para>New server-side parameter log_error_verbosity to control error detail (Tom)</para>
|
<listitem><para>New server-side parameter log_error_verbosity to control error detail (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This works with the new error reporting feature to supply additional
|
This works with the new error reporting feature to supply additional
|
||||||
error information like hints, file names and line numbers.
|
error information like hints, file names and line numbers.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter)</para>
|
<listitem><para>postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
This option is useful for administration tools that need to know the
|
This option is useful for administration tools that need to know the
|
||||||
configuration variable names and their minimum, maximums, defaults,
|
configuration variable names and their minimum, maximums, defaults,
|
||||||
and descriptions.
|
and descriptions.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Make default shared_buffers 1000 and max_connections 100, if possible (Tom)</para>
|
<listitem><para>Make default shared_buffers 1000 and max_connections 100, if possible (Tom)</para>
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Prior versions defaulted to 64 shared buffers so PostgreSQL would
|
Prior versions defaulted to 64 shared buffers so PostgreSQL would
|
||||||
start on even old computers. This release tests the amount of shared
|
start on even old computers. This release tests the amount of shared
|
||||||
@ -531,17 +531,17 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
course, users are still encouraged to evaluate their resource load
|
course, users are still encouraged to evaluate their resource load
|
||||||
and size shared_buffers accordingly.
|
and size shared_buffers accordingly.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Add new columns in pg_settings: context, type, source, min_val, max_val (Joe)</para></listitem>
|
<listitem><para>Add new columns in pg_settings: context, type, source, min_val, max_val (Joe)</para></listitem>
|
||||||
<listitem><para>New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen)
|
<listitem><para>New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen)
|
||||||
<sect3>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In prior releases, there was no way to prevent SSL connections if
|
In prior releases, there was no way to prevent SSL connections if
|
||||||
both the client and server supported SSL. This option allows that
|
both the client and server supported SSL. This option allows that
|
||||||
capability.
|
capability.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem><para>Remove geqo_random_seed server parameter (Tom)</para></listitem>
|
<listitem><para>Remove geqo_random_seed server parameter (Tom)</para></listitem>
|
||||||
</itemizedlist></sect2>
|
</itemizedlist></sect2>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user