mirror of
https://github.com/postgres/postgres.git
synced 2025-04-20 00:42:27 +03:00
Fix markup for new release footnotes.
This commit is contained in:
parent
60b198a768
commit
d807bbe837
251
HISTORY
251
HISTORY
@ -8,27 +8,28 @@
|
|||||||
Major changes in this release:
|
Major changes in this release:
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
IN/NOT IN subqueries are now much more efficient
|
IN/NOT IN subqueries are now much more efficient [1]
|
||||||
|
|
||||||
Improved GROUP BY processing by using hash buckets
|
Improved GROUP BY processing by using hash buckets [2]
|
||||||
|
|
||||||
New multi-key hash join capability
|
New multi-key hash join capability [3]
|
||||||
|
|
||||||
ANSI joins are now better optimized
|
ANSI joins are now better optimized [4]
|
||||||
|
|
||||||
Faster and more powerful regular expression code
|
Faster and more powerful regular expression code [5]
|
||||||
|
|
||||||
Function-inlining for simple SQL functions
|
Function-inlining for simple SQL functions [6]
|
||||||
|
|
||||||
IPv6
|
IPv6
|
||||||
Full support for IPv6 connections and IPv6 address data types
|
Full support for IPv6 connections and IPv6 address data types
|
||||||
|
[7]
|
||||||
|
|
||||||
SSL
|
SSL
|
||||||
Major improvements in SSL performance and reliability
|
Major improvements in SSL performance and reliability [8]
|
||||||
|
|
||||||
Index Growth Prevention
|
Index Growth Prevention
|
||||||
Allow free space map to efficiently reuse empty index pages,
|
Allow free space map to efficiently reuse empty index pages,
|
||||||
and other free space management improvements.
|
and other free space management improvements. [9]
|
||||||
|
|
||||||
Standards Compliance
|
Standards Compliance
|
||||||
Implement information schema
|
Implement information schema
|
||||||
@ -47,14 +48,15 @@
|
|||||||
|
|
||||||
Threads
|
Threads
|
||||||
libpq and ecpg are now fully thread-safe with
|
libpq and ecpg are now fully thread-safe with
|
||||||
--enable-thread-safety
|
--enable-thread-safety [10]
|
||||||
|
|
||||||
Contrib
|
Contrib
|
||||||
New version of full text indexing (tsearch2)
|
New version of full text indexing (tsearch2)
|
||||||
|
|
||||||
New autovacuum tool
|
New autovacuum tool [11]
|
||||||
|
|
||||||
Array handling has been improved and moved into the main server
|
Array handling has been improved and moved into the main server
|
||||||
|
[12]
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Migration to version 7.4
|
Migration to version 7.4
|
||||||
@ -65,30 +67,33 @@
|
|||||||
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.
|
in client applications and languages. [13]
|
||||||
* 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,
|
||||||
* MOVE/FETCH 0 now does nothing; return value of MOVE/FETCH 1/0
|
primarily those related to logging
|
||||||
varies based on the current offset in the cursor
|
* MOVE/FETCH 0 now does nothing [14]
|
||||||
* COPY now can process carriage-return/line-feed and carriage-return
|
* MOVE/FETCH now returns the actual number of rows moved/fetched, or
|
||||||
terminated files. Literal carriage-returns and line-feeds are no
|
zero if at the beginning/end of the cursor [15]
|
||||||
longer accepted as data values; use \r and \n instead.
|
* COPY now can process carriage-return and carriage-return/line-feed
|
||||||
|
end-of-line terminated files.
|
||||||
|
* Literal carriage-returns and line-feeds are no longer accepted as
|
||||||
|
data values; use \r and \n instead.
|
||||||
* Trailing spaces are now trimmed when converting from CHAR(n) to
|
* Trailing spaces are now trimmed when converting from CHAR(n) to
|
||||||
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
|
DateStyle [16]
|
||||||
* The oidrand(), oidsrand(), and userfntest() functions have been
|
* The oidrand(), oidsrand(), and userfntest() functions have been
|
||||||
removed.
|
removed. [17]
|
||||||
* '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
|
CURRENT_TIMESTAMP should be used instead [18]
|
||||||
* '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
|
should be used instead [19]
|
||||||
* 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
|
* Dollar sign ($) can be a non-first character in identifiers [20]
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Changes
|
Changes
|
||||||
@ -97,19 +102,20 @@ 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)
|
* Fix SSL to handle errors cleanly (Nathan Mueller) [21]
|
||||||
* SSL protocol security and performance improvements (Sean
|
* SSL protocol security and performance improvements (Sean
|
||||||
Chittenden)
|
Chittenden) [22]
|
||||||
* Print lock information when a deadlock is detected (Tom)
|
* Print lock information when a deadlock is detected (Tom) [23]
|
||||||
* Update "/tmp" socket mod. times regularly to avoid their removal
|
* Update "/tmp" socket mod. times regularly to avoid their removal
|
||||||
(Tom)
|
(Tom) [24]
|
||||||
* Enable PAM for MAC OS X (Aaron Hillegass)
|
* Enable PAM for MAC OS X (Aaron Hillegass)
|
||||||
* Make btree indexes fully WAL-safe (Tom)
|
* Make btree indexes fully WAL-safe (Tom) [25]
|
||||||
* 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)
|
(Tom) [26]
|
||||||
* 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]
|
||||||
* 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
|
||||||
@ -132,13 +138,13 @@ Performance
|
|||||||
* 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)
|
* Reduce memory usage for queries using complex functions (Tom) [28]
|
||||||
* Improve GEQO optimizer performance (Tom)
|
* Improve GEQO optimizer performance (Tom) [29]
|
||||||
* 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)
|
(Joe) [30]
|
||||||
* 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)
|
||||||
@ -156,17 +162,17 @@ Performance
|
|||||||
* 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)
|
* Improve hash index concurrency and speed (Tom) [31]
|
||||||
* Align shared buffers on 32-byte boundary for copy speed
|
* Align shared buffers on 32-byte boundary for copy speed
|
||||||
improvement (Manfred Spraul)
|
improvement (Manfred Spraul) [32]
|
||||||
* The NUMERIC datatype has been reimplemented for better performance
|
* The NUMERIC datatype has been reimplemented for better performance
|
||||||
(Tom)
|
(Tom) [33]
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Server Configuration
|
Server Configuration
|
||||||
|
|
||||||
* Rename server parameter server_min_messages to log_min_messages
|
* Rename server parameter server_min_messages to log_min_messages
|
||||||
(Bruce)
|
(Bruce) [34]
|
||||||
* 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)
|
||||||
@ -243,10 +249,9 @@ Utility Commands
|
|||||||
|
|
||||||
* 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)
|
||||||
* Make MOVE/FETCH 0 actually move/fetch 0 (Bruce)
|
* MOVE/FETCH 0 now does nothing (Bruce)
|
||||||
* Cause FETCH 1 to return the next cursor row number, or zero if at
|
* Cause MOVE/FETCH to return the number of rows moved/fetched, or
|
||||||
beginning/end of cursor, per SQL spec (Bruce)
|
zero if at the beginning/end of cursor, per SQL spec (Bruce)
|
||||||
* Have MOVE return 0 or 1 depending on cursor position (Bruce)
|
|
||||||
* Properly handle SCROLL with cursors, or report an error (Neil)
|
* Properly handle SCROLL with cursors, or report an error (Neil)
|
||||||
* Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n
|
* Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n
|
||||||
options for FETCH and MOVE (Tom)
|
options for FETCH and MOVE (Tom)
|
||||||
@ -4704,3 +4709,171 @@ 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.221 2003/10/29 23:28:59 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.222 2003/10/30 03:46:42 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<appendix id="release">
|
<appendix id="release">
|
||||||
@ -456,13 +456,14 @@ required for those wishing to migrate data from any previous release.</para>
|
|||||||
<sect3><title>Server Configuration</title>
|
<sect3><title>Server Configuration</title>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)</para></listitem>
|
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)
|
||||||
<footnote>
|
<footnote>
|
||||||
<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>
|
||||||
</footnote>
|
</footnote>
|
||||||
|
</para></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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user