|
|
@ -1,5 +1,5 @@ |
|
|
|
<!-- |
|
|
|
<!-- |
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.228 2003/10/31 04:30:22 momjian Exp $ |
|
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 momjian Exp $ |
|
|
|
--> |
|
|
|
--> |
|
|
|
|
|
|
|
|
|
|
|
<appendix id="release"> |
|
|
|
<appendix id="release"> |
|
|
@ -24,7 +24,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.228 2003/10/31 04:30:22 mo |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> Improved GROUP BY processing by using hash buckets</para> |
|
|
|
<listitem><para> Improved GROUP BY processing by using hash buckets</para> |
|
|
|
<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; |
|
|
@ -33,76 +32,62 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.228 2003/10/31 04:30:22 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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> New multi-key hash join capability</para> |
|
|
|
<listitem><para> New multi-key hash join capability</para> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> ANSI joins are now better optimized</para> |
|
|
|
<listitem><para> ANSI joins are now better optimized</para> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> Faster and more powerful regular expression code |
|
|
|
<listitem><para> Faster and more powerful regular expression code |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> Function-inlining for simple SQL functions</para> |
|
|
|
<listitem><para> Function-inlining for simple SQL functions</para> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para> Major improvements in SSL performance and |
|
|
|
<listitem><para> Major improvements in SSL performance and |
|
|
|
reliability</para> |
|
|
|
reliability</para> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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 |
|
|
@ -110,7 +95,6 @@ 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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para>Implement information schema</para> |
|
|
|
<listitem><para>Implement information schema</para> |
|
|
@ -135,36 +119,30 @@ also called holdable cursors |
|
|
|
|
|
|
|
|
|
|
|
<listitem><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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></para></sect2> |
|
|
|
</itemizedlist></para></sect2> |
|
|
|
|
|
|
|
|
|
|
@ -177,14 +155,12 @@ 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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
@ -192,21 +168,17 @@ 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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
@ -217,7 +189,6 @@ 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> |
|
|
|
<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 |
|
|
@ -226,19 +197,15 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
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> |
|
|
|
</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> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
These functions were determined to be no longer useful. |
|
|
|
These functions were determined to be no longer useful. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</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> |
|
|
|
<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 |
|
|
@ -249,24 +216,19 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<function>CURRENT_TIMESTAMP</>. These will work in all |
|
|
|
<function>CURRENT_TIMESTAMP</>. These will work in all |
|
|
|
situations. |
|
|
|
situations. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</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> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Same description as above. |
|
|
|
Same description as above. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></para></sect2> |
|
|
|
</itemizedlist></para></sect2> |
|
|
|
|
|
|
|
|
|
|
@ -275,68 +237,54 @@ 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) |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows easier debugging of deadlock situations. |
|
|
|
This allows easier debugging of deadlock situations. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
@ -359,34 +307,28 @@ 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> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Improve GEQO optimizer performance (Tom)</para> |
|
|
|
<listitem><para>Improve GEQO optimizer performance (Tom)</para> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
@ -398,41 +340,33 @@ 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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
|
|
|
|
|
|
|
|
@ -440,88 +374,69 @@ 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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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. |
|
|
|
see only slow queries in their server logs. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
<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 |
|
|
@ -529,17 +444,14 @@ 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> |
|
|
|
</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)</para> |
|
|
|
<listitem><para>New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen)</para> |
|
|
|
<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> |
|
|
|
</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> |
|
|
@ -548,63 +460,49 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
<listitem><para>New SQL-standard information schema (Peter)</para> |
|
|
|
<listitem><para>New SQL-standard information schema (Peter)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm |
|
|
|
bjm |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add read-only transactions (Peter)</para></listitem> |
|
|
|
<listitem><para>Add read-only transactions (Peter)</para></listitem> |
|
|
|
<listitem><para>Add server variable regex_flavor to control regular expression |
|
|
|
<listitem><para>Add server variable regex_flavor to control regular expression |
|
|
|
processing (Tom)</para></listitem> |
|
|
|
processing (Tom)</para></listitem> |
|
|
|
<listitem><para>Print key name and value in foreign-key violation messages (Dmitry Tkach)</para></listitem> |
|
|
|
<listitem><para>Print key name and value in foreign-key violation messages (Dmitry Tkach)</para></listitem> |
|
|
|
<listitem><para>Allow users to see their own queries in pg_stat_activity (Kevin Brown)</para> |
|
|
|
<listitem><para>Allow users to see their own queries in pg_stat_activity (Kevin Brown)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In prior releases, only the super-user could see query strings using |
|
|
|
In prior releases, only the super-user could see query strings using |
|
|
|
pg_stat_activity. Now ordinary users can see their own query |
|
|
|
pg_stat_activity. Now ordinary users can see their own query |
|
|
|
strings. |
|
|
|
strings. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Fix subquery aggregates of upper query columns to match SQL spec. (Tom)</para> |
|
|
|
<listitem><para>Fix subquery aggregates of upper query columns to match SQL spec. (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm |
|
|
|
bjm |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add option to prevent auto-addition of tables referenced in query (Nigel J. |
|
|
|
<listitem><para>Add option to prevent auto-addition of tables referenced in query (Nigel J. |
|
|
|
Andrews) </para> |
|
|
|
Andrews) </para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
By default, tables mentioned in the query are automatically added |
|
|
|
By default, tables mentioned in the query are automatically added |
|
|
|
to the FROM clause if they are not already there. This option |
|
|
|
to the FROM clause if they are not already there. This option |
|
|
|
disabled that behavior. |
|
|
|
disabled that behavior. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow UPDATE ... SET col = DEFAULT (Rod)</para> |
|
|
|
<listitem><para>Allow UPDATE ... SET col = DEFAULT (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows UPDATE to set a column to its default value. |
|
|
|
This allows UPDATE to set a column to its default value. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow expressions to be used in LIMIT/OFFSET (Tom)</para> |
|
|
|
<listitem><para>Allow expressions to be used in LIMIT/OFFSET (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In prior releases, LIMIT/OFFSET could only use constants, not |
|
|
|
In prior releases, LIMIT/OFFSET could only use constants, not |
|
|
|
expressions. |
|
|
|
expressions. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter)</para> |
|
|
|
<listitem><para>Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ? |
|
|
|
bjm ? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
|
|
|
|
|
|
|
|
@ -612,149 +510,117 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
|
|
|
|
|
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>Make CREATE SEQUENCE grammar more SQL1999 standards compliant (Neil)</para> |
|
|
|
<listitem><para>Make CREATE SEQUENCE grammar more SQL1999 standards compliant (Neil)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ? |
|
|
|
bjm ? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add FOR EACH STATEMENT statement-level triggers (Neil)</para> |
|
|
|
<listitem><para>Add FOR EACH STATEMENT statement-level triggers (Neil)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
While this allows a trigger to fire at the end of a statement, it |
|
|
|
While this allows a trigger to fire at the end of a statement, it |
|
|
|
does not allow the trigger to access all rows modified by the |
|
|
|
does not allow the trigger to access all rows modified by the |
|
|
|
query. This capability is planned for a future release. |
|
|
|
query. This capability is planned for a future release. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add DOMAIN CHECK constraints (Rod)</para> |
|
|
|
<listitem><para>Add DOMAIN CHECK constraints (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This greatly increases the usefulness of domains by allowing them to |
|
|
|
This greatly increases the usefulness of domains by allowing them to |
|
|
|
use CHECK constraints. |
|
|
|
use CHECK constraints. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add ALTER DOMAIN .. SET / DROP NOT NULL, SET / DROP DEFAULT, ADD / DROP |
|
|
|
<listitem><para>Add ALTER DOMAIN .. SET / DROP NOT NULL, SET / DROP DEFAULT, ADD / DROP |
|
|
|
CONSTRAINT (Rod) </para> |
|
|
|
CONSTRAINT (Rod) </para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows manipulation of existing domains. |
|
|
|
This allows manipulation of existing domains. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Fix several zero-column table bugs (Tom)</para> |
|
|
|
<listitem><para>Fix several zero-column table bugs (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
PostgreSQL supports zero-column tables. This fixes various bugs |
|
|
|
PostgreSQL supports zero-column tables. This fixes various bugs |
|
|
|
that occur when using such tables. |
|
|
|
that occur when using such tables. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Have ALTER TABLE ... ADD PRIMARY KEY add NOT NULL constraint (Rod)</para> |
|
|
|
<listitem><para>Have ALTER TABLE ... ADD PRIMARY KEY add NOT NULL constraint (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In prior releases, ALTER TABLE ADD PRIMARY would add a unique index, |
|
|
|
In prior releases, ALTER TABLE ADD PRIMARY would add a unique index, |
|
|
|
but not a NOT NULL constraint. That is fixed in this release. |
|
|
|
but not a NOT NULL constraint. That is fixed in this release. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add ALTER DOMAIN OWNER (Rod)</para></listitem> |
|
|
|
<listitem><para>Add ALTER DOMAIN OWNER (Rod)</para></listitem> |
|
|
|
<listitem><para>Add ALTER TABLE ... WITHOUT OIDS (Rod)</para> |
|
|
|
<listitem><para>Add ALTER TABLE ... WITHOUT OIDS (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows control over whether new and updated rows will have an |
|
|
|
This allows control over whether new and updated rows will have an |
|
|
|
oid column. This is most useful for saving storage space. |
|
|
|
oid column. This is most useful for saving storage space. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values (Rod)</para></listitem> |
|
|
|
<listitem><para>Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values (Rod)</para></listitem> |
|
|
|
<listitem><para>Add ALTER TABLE ... CLUSTER ON (Alvaro Herrera)</para> |
|
|
|
<listitem><para>Add ALTER TABLE ... CLUSTER ON (Alvaro Herrera)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This command is used by pg_dump to record the CLUSTER column |
|
|
|
This command is used by pg_dump to record the CLUSTER column |
|
|
|
for each table previously clustered. This information is used by database-wide |
|
|
|
for each table previously clustered. This information is used by database-wide |
|
|
|
cluster to cluster all previously clustered tables. |
|
|
|
cluster to cluster all previously clustered tables. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Improve DOMAIN automatic type casting (Rod, Tom)</para></listitem> |
|
|
|
<listitem><para>Improve DOMAIN automatic type casting (Rod, Tom)</para></listitem> |
|
|
|
<listitem><para>Allow dollar signs in identifiers, except as first character (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow dollar signs in identifiers, except as first character (Tom)</para></listitem> |
|
|
|
<listitem><para>Disallow dollar signs in operator names, so x=$1 works (Tom)</para></listitem> |
|
|
|
<listitem><para>Disallow dollar signs in operator names, so x=$1 works (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow SQL200X inheritance syntax LIKE <emphasis>subtable</emphasis>, INCLUDING DEFAULTS (Rod)</para></listitem> |
|
|
|
<listitem><para>Allow SQL200X inheritance syntax LIKE <emphasis>subtable</emphasis>, INCLUDING DEFAULTS (Rod)</para></listitem> |
|
|
|
<listitem><para>Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter)</para> |
|
|
|
<listitem><para>Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow GRANT to give other users the ability to grant permissions on |
|
|
|
Allow GRANT to give other users the ability to grant permissions on |
|
|
|
a object. |
|
|
|
a object. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
|
|
|
|
|
|
|
|
|
<sect2><title>Utility Command Changes</title> |
|
|
|
<sect2><title>Utility Command Changes</title> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)</para> |
|
|
|
<listitem><para>Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This adds the ability for a table to be dropped or all rows deleted |
|
|
|
This adds the ability for a table to be dropped or all rows deleted |
|
|
|
on transaction commit. |
|
|
|
on transaction commit. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow cursors outside transactions using WITH HOLD (Neil)</para> |
|
|
|
<listitem><para>Allow cursors outside transactions using WITH HOLD (Neil)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In previous releases, cursors were removed at the end of the |
|
|
|
In previous releases, cursors were removed at the end of the |
|
|
|
transaction. Using WITH HOLD, the current release allows transaction |
|
|
|
transaction. Using WITH HOLD, the current release allows transaction |
|
|
|
to remain outside their own transaction. |
|
|
|
to remain outside their own transaction. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>MOVE/FETCH 0 now does nothing (Bruce)</para> |
|
|
|
<listitem><para>MOVE/FETCH 0 now does nothing (Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In previous releases, MOVE 0 moved to the end of the cursor, and |
|
|
|
In previous releases, MOVE 0 moved to the end of the cursor, and |
|
|
|
FETCH 0 fetched all remaning rows. |
|
|
|
FETCH 0 fetched all remaning rows. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Cause MOVE/FETCH to return the number of rows moved/fetched, or zero if at the beginning/end of cursor, |
|
|
|
<listitem><para>Cause MOVE/FETCH to return the number of rows moved/fetched, or zero if at the beginning/end of cursor, |
|
|
|
per SQL spec (Bruce)</para> |
|
|
|
per SQL spec (Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In prior releases, the row count returned by MOVE and FETCH did |
|
|
|
In prior releases, the row count returned by MOVE and FETCH did |
|
|
|
not accurately reflect the number of rows processed. |
|
|
|
not accurately reflect the number of rows processed. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Properly handle SCROLL with cursors, or report an error (Neil)</para> |
|
|
|
<listitem><para>Properly handle SCROLL with cursors, or report an error (Neil)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Certain cursors can not be fetched backwards optimally. By specifying SCROLL, |
|
|
|
Certain cursors can not be fetched backwards optimally. By specifying SCROLL, |
|
|
|
extra work will be performed to guarantee that the cursor can be |
|
|
|
extra work will be performed to guarantee that the cursor can be |
|
|
|
fetched in reverse or random order. |
|
|
|
fetched in reverse or random order. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options |
|
|
|
<listitem><para>Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options |
|
|
|
for FETCH and MOVE (Tom)</para></listitem> |
|
|
|
for FETCH and MOVE (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow EXPLAIN on DECLARE CURSOR (Tom)</para> |
|
|
|
<listitem><para>Allow EXPLAIN on DECLARE CURSOR (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Prior versions would not allow EXPLAIN on a DECLARE statement. |
|
|
|
Prior versions would not allow EXPLAIN on a DECLARE statement. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow CLUSTER to use index marked as pre-clustered by default (Alvaro Herrera)</para></listitem> |
|
|
|
<listitem><para>Allow CLUSTER to use index marked as pre-clustered by default (Alvaro Herrera)</para></listitem> |
|
|
|
<listitem><para>Allow CLUSTER to cluster all tables (Alvaro Herrera) |
|
|
|
<listitem><para>Allow CLUSTER to cluster all tables (Alvaro Herrera) |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows all previously clustered tables in a database to be |
|
|
|
This allows all previously clustered tables in a database to be |
|
|
|
reclustered with a single command. |
|
|
|
reclustered with a single command. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
</listitem> |
|
|
|
</para></listitem> |
|
|
|
|
|
|
|
<listitem><para>Prevent CLUSTER on partial indexes (Tom)</para></listitem> |
|
|
|
<listitem><para>Prevent CLUSTER on partial indexes (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow \r and \r\n termination for COPY files (Bruce)</para></listitem> |
|
|
|
<listitem><para>Allow \r and \r\n termination for COPY files (Bruce)</para></listitem> |
|
|
|
<listitem><para>Disallow literal carriage return as a data value, backslash-carriage-return |
|
|
|
<listitem><para>Disallow literal carriage return as a data value, backslash-carriage-return |
|
|
@ -763,21 +629,17 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<listitem><para>Recover from COPY IN/OUT failure cleanly (Tom)</para></listitem> |
|
|
|
<listitem><para>Recover from COPY IN/OUT failure cleanly (Tom)</para></listitem> |
|
|
|
<listitem><para>Prevent possible memory leaks in COPY (Tom)</para></listitem> |
|
|
|
<listitem><para>Prevent possible memory leaks in COPY (Tom)</para></listitem> |
|
|
|
<listitem><para>Make TRUNCATE transaction-safe (Rod)</para> |
|
|
|
<listitem><para>Make TRUNCATE transaction-safe (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Truncate can now be used inside a transaction, and rolled back if |
|
|
|
Truncate can now be used inside a transaction, and rolled back if |
|
|
|
the transaction aborts. |
|
|
|
the transaction aborts. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Multiple pggla_dump fixes, including tar format and large objects</para></listitem> |
|
|
|
<listitem><para>Multiple pggla_dump fixes, including tar format and large objects</para></listitem> |
|
|
|
<listitem><para>Allow pg_dump to dump specific schemas (Neil)</para></listitem> |
|
|
|
<listitem><para>Allow pg_dump to dump specific schemas (Neil)</para></listitem> |
|
|
|
<listitem><para>Allow pg_dump to preserve column storage characteristics (Christopher)</para> |
|
|
|
<listitem><para>Allow pg_dump to preserve column storage characteristics (Christopher)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This preserves ALTER TABLE ... SET STORAGE information. |
|
|
|
This preserves ALTER TABLE ... SET STORAGE information. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow pg_dump to preserve CLUSTER characteristics (Christopher)</para></listitem> |
|
|
|
<listitem><para>Allow pg_dump to preserve CLUSTER characteristics (Christopher)</para></listitem> |
|
|
|
<listitem><para>Have pg_dumpall use GRANT/REVOKE to dump database-level permissions (Tom)</para></listitem> |
|
|
|
<listitem><para>Have pg_dumpall use GRANT/REVOKE to dump database-level permissions (Tom)</para></listitem> |
|
|
@ -790,50 +652,40 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<listitem><para>Improve VACUUM performance on indexes by reducing WAL traffic (Tom)</para></listitem> |
|
|
|
<listitem><para>Improve VACUUM performance on indexes by reducing WAL traffic (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow pg_ctl to better handle non-standard ports (Greg)</para></listitem> |
|
|
|
<listitem><para>Allow pg_ctl to better handle non-standard ports (Greg)</para></listitem> |
|
|
|
<listitem><para>Functional indexes have been generalized into expressional indexes (Tom)</para> |
|
|
|
<listitem><para>Functional indexes have been generalized into expressional indexes (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In prior releases, only columns could be used in functional indexes. |
|
|
|
In prior releases, only columns could be used in functional indexes. |
|
|
|
This release allows any type of expression. |
|
|
|
This release allows any type of expression. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)</para></listitem> |
|
|
|
<listitem><para>Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)</para></listitem> |
|
|
|
<listitem><para>Have SHOW TRANSACTION_ISOLATION match input to SET TRANSACTION_ISOLATION (Tom)</para></listitem> |
|
|
|
<listitem><para>Have SHOW TRANSACTION_ISOLATION match input to SET TRANSACTION_ISOLATION (Tom)</para></listitem> |
|
|
|
<listitem><para>Have COMMENT ON DATABASE on non-local database generate a warning (Rod)</para> |
|
|
|
<listitem><para>Have COMMENT ON DATABASE on non-local database generate a warning (Rod)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Database comments are stored in database-local tables so comments on |
|
|
|
Database comments are stored in database-local tables so comments on |
|
|
|
a database have to be stored in each database. |
|
|
|
a database have to be stored in each database. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Improve reliability of LISTEN/NOTIFY (Tom)</para></listitem> |
|
|
|
<listitem><para>Improve reliability of LISTEN/NOTIFY (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow REINDEX to reliably reindex non-shared system catalog indexes (Tom)</para> |
|
|
|
<listitem><para>Allow REINDEX to reliably reindex non-shared system catalog indexes (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows system tables to be reindexed without the requirement of |
|
|
|
This allows system tables to be reindexed without the requirement of |
|
|
|
a standalone backend, which was necessary in previous releases. The |
|
|
|
a standalone backend, which was necessary in previous releases. The |
|
|
|
only tables that now require a standalone backend for reindex are |
|
|
|
only tables that now require a standalone backend for reindex are |
|
|
|
the global system tables pg_database, pg_shadow, and pg_group. |
|
|
|
the global system tables pg_database, pg_shadow, and pg_group. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>pg_dump --use-set-session-authorization and --no-reconnect now do nothing, |
|
|
|
<listitem><para>pg_dump --use-set-session-authorization and --no-reconnect now do nothing, |
|
|
|
all dumps use SET SESSION AUTHORIZATION </para> |
|
|
|
all dumps use SET SESSION AUTHORIZATION </para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
pg_dump now no longer reconnects to switch users, but instead uses |
|
|
|
pg_dump now no longer reconnects to switch users, but instead uses |
|
|
|
SET SESSION AUTHORIZATION. This should reduce password prompting |
|
|
|
SET SESSION AUTHORIZATION. This should reduce password prompting |
|
|
|
during restores. |
|
|
|
during restores. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Long options for <application>pg_dump</application> are now available on all platforms</para> |
|
|
|
<listitem><para>Long options for <application>pg_dump</application> are now available on all platforms</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
We now include our own long option processing routines. |
|
|
|
We now include our own long option processing routines. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
|
|
|
|
|
|
|
|
@ -842,29 +694,23 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>New extra_float_digits server parameter to control float precision display |
|
|
|
<listitem><para>New extra_float_digits server parameter to control float precision display |
|
|
|
(Pedro Ferreira, Tom) </para> |
|
|
|
(Pedro Ferreira, Tom) </para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This controls precision output which was causing regression |
|
|
|
This controls precision output which was causing regression |
|
|
|
testing problems. |
|
|
|
testing problems. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow +1300 as a numeric timezone specifier, for FJST (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow +1300 as a numeric timezone specifier, for FJST (Tom)</para></listitem> |
|
|
|
<listitem><para>Remove rarely used oidrand(), oidsrand(), and userfntest() functions (Neil)</para></listitem> |
|
|
|
<listitem><para>Remove rarely used oidrand(), oidsrand(), and userfntest() functions (Neil)</para></listitem> |
|
|
|
<listitem><para>Add md5() function to main server, already in /contrib/pgcrypto (Joe)</para> |
|
|
|
<listitem><para>Add md5() function to main server, already in /contrib/pgcrypto (Joe)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
An md5 function was frequently requested. For more complex |
|
|
|
An md5 function was frequently requested. For more complex |
|
|
|
encryption capabilities, use /contrib/pgcrypto. |
|
|
|
encryption capabilities, use /contrib/pgcrypto. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Increase date range of timestamp (John Cochran)</para> |
|
|
|
<listitem><para>Increase date range of timestamp (John Cochran)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ?? |
|
|
|
bjm ?? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Change EXTRACT(EPOCH FROM timestamp) so timestamp without time zone |
|
|
|
<listitem><para>Change EXTRACT(EPOCH FROM timestamp) so timestamp without time zone |
|
|
|
is assumed to be in local time, not GMT (Tom)</para></listitem> |
|
|
|
is assumed to be in local time, not GMT (Tom)</para></listitem> |
|
|
@ -874,12 +720,10 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<listitem><para>Fixes for to_char() (Karel)</para></listitem> |
|
|
|
<listitem><para>Fixes for to_char() (Karel)</para></listitem> |
|
|
|
<listitem><para>Allow functions that can take any argument data type and return |
|
|
|
<listitem><para>Allow functions that can take any argument data type and return |
|
|
|
any data type, using ANYELEMENT and ANYARRAY (Joe) </para> |
|
|
|
any data type, using ANYELEMENT and ANYARRAY (Joe) </para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows the creation of functions that can work with any data |
|
|
|
This allows the creation of functions that can work with any data |
|
|
|
type. |
|
|
|
type. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Arrays may now be specified as ARRAY[1,2,3], ARRAY[['a','b'],['c','d']], |
|
|
|
<listitem><para>Arrays may now be specified as ARRAY[1,2,3], ARRAY[['a','b'],['c','d']], |
|
|
|
or ARRAY[ARRAY[ARRAY[2]]] (Joe)</para></listitem> |
|
|
|
or ARRAY[ARRAY[ARRAY[2]]] (Joe)</para></listitem> |
|
|
@ -887,47 +731,37 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<listitem><para>Allow array concatenation with '||' (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow array concatenation with '||' (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow indexes on array columns, and used in ORDER BY and DISTINCT (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow indexes on array columns, and used in ORDER BY and DISTINCT (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow WHERE qualification 'expr >oper< ANY/SOME/ALL (array-expr)' (Joe)</para> |
|
|
|
<listitem><para>Allow WHERE qualification 'expr >oper< ANY/SOME/ALL (array-expr)' (Joe)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows arrays to behave like subqueries or a list of values: |
|
|
|
This allows arrays to behave like subqueries or a list of values: |
|
|
|
SELECT * FROM tab WHERE col IN array_val |
|
|
|
SELECT * FROM tab WHERE col IN array_val |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow polymorphic SQL functions (Joe)</para> |
|
|
|
<listitem><para>Allow polymorphic SQL functions (Joe)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ?? |
|
|
|
bjm ?? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>New array functions array_append(), array_cat(), array_lower(), |
|
|
|
<listitem><para>New array functions array_append(), array_cat(), array_lower(), |
|
|
|
array_prepend(), array_to_string(), array_upper(), string_to_array() (Joe)</para></listitem> |
|
|
|
array_prepend(), array_to_string(), array_upper(), string_to_array() (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow user defined aggregates to use polymorphic functions (Joe)</para> |
|
|
|
<listitem><para>Allow user defined aggregates to use polymorphic functions (Joe)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ?? |
|
|
|
bjm ?? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow polymorphic user defined aggregates (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow polymorphic user defined aggregates (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow assignments to empty arrays (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow assignments to empty arrays (Joe)</para></listitem> |
|
|
|
<listitem><para>Allow 60 in seconds fields of timestamp, time, interval input values (Tom)</para> |
|
|
|
<listitem><para>Allow 60 in seconds fields of timestamp, time, interval input values (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Sixty-second values are needed for leap seconds. |
|
|
|
Sixty-second values are needed for leap seconds. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow CIDR data type to be cast to text (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow CIDR data type to be cast to text (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow the creation of special LIKE indexes for non-C locales (Peter)</para> |
|
|
|
<listitem><para>Allow the creation of special LIKE indexes for non-C locales (Peter)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
There is no way for non-ASCII locales to use indexes for LIKE |
|
|
|
There is no way for non-ASCII locales to use indexes for LIKE |
|
|
|
comparisons. However, this release adds a way to create a special |
|
|
|
comparisons. However, this release adds a way to create a special |
|
|
|
index for LIKE. bjm ?? |
|
|
|
index for LIKE. bjm ?? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Disallow invalid timezone names (Tom)</para></listitem> |
|
|
|
<listitem><para>Disallow invalid timezone names (Tom)</para></listitem> |
|
|
|
<listitem><para>Trim trailing spaces when CHAR() is cast to VARCHAR or TEXT (Tom)</para></listitem> |
|
|
|
<listitem><para>Trim trailing spaces when CHAR() is cast to VARCHAR or TEXT (Tom)</para></listitem> |
|
|
@ -938,18 +772,14 @@ required for those wishing to migrate data from any previous release.</para> |
|
|
|
<listitem><para>Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL convention |
|
|
|
<listitem><para>Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL convention |
|
|
|
for the sign of timezone offsets, ie, positive is east from UTC (Tom)</para></listitem> |
|
|
|
for the sign of timezone offsets, ie, positive is east from UTC (Tom)</para></listitem> |
|
|
|
<listitem><para>Fix date_trunc('quarter',...) (B?jthe Zolt?n)</para> |
|
|
|
<listitem><para>Fix date_trunc('quarter',...) (B?jthe Zolt?n)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Prior releases returned an incorrect value for this function call. |
|
|
|
Prior releases returned an incorrect value for this function call. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Make initcap() more compatible with Oracle (Mike Nolan)</para> |
|
|
|
<listitem><para>Make initcap() more compatible with Oracle (Mike Nolan)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
bjm ?? |
|
|
|
bjm ?? |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow only DateStyle field order for date values not in ISO format (Greg)</para></listitem> |
|
|
|
<listitem><para>Allow only DateStyle field order for date values not in ISO format (Greg)</para></listitem> |
|
|
|
<listitem><para>Add new DateStyle values MDY, DMY, and YMD; honor US and European for |
|
|
|
<listitem><para>Add new DateStyle values MDY, DMY, and YMD; honor US and European for |
|
|
@ -971,14 +801,12 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow PL/pgSQL to declare variables of composite types without %ROWTYPE (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow PL/pgSQL to declare variables of composite types without %ROWTYPE (Tom)</para></listitem> |
|
|
|
<listitem><para>Fix PL/python _quote() function to handle big integers (?)</para></listitem> |
|
|
|
<listitem><para>Fix PL/python _quote() function to handle big integers (?)</para></listitem> |
|
|
|
<listitem><para>Make PL/python an untrusted language, now called plpythonu (Kevin Jacobs, Tom)</para> |
|
|
|
<listitem><para>Make PL/python an untrusted language, now called plpythonu (Kevin Jacobs, Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
The Python language no longer supports a restricted execution |
|
|
|
The Python language no longer supports a restricted execution |
|
|
|
environment, so we removed the trusted version of PL/python. If this |
|
|
|
environment, so we removed the trusted version of PL/python. If this |
|
|
|
situation changes, we will re-add a version of PL/python that can be |
|
|
|
situation changes, we will re-add a version of PL/python that can be |
|
|
|
used by non-super users. |
|
|
|
used by non-super users. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow polymorphic PL/pgSQL functions (Tom, Joe)</para></listitem> |
|
|
|
<listitem><para>Allow polymorphic PL/pgSQL functions (Tom, Joe)</para></listitem> |
|
|
|
<listitem><para>Improved compiled function caching mechanism in PL/pgSQL with full |
|
|
|
<listitem><para>Improved compiled function caching mechanism in PL/pgSQL with full |
|
|
@ -994,48 +822,38 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
|
|
|
|
|
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>Add "\pset pager always" to always use pager (Greg)</para> |
|
|
|
<listitem><para>Add "\pset pager always" to always use pager (Greg)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This forces the pager to be used even if the number of rows is less |
|
|
|
This forces the pager to be used even if the number of rows is less |
|
|
|
than the screen height --- this is valuable for rows that wrap |
|
|
|
than the screen height --- this is valuable for rows that wrap |
|
|
|
across several screen rows. |
|
|
|
across several screen rows. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)</para></listitem> |
|
|
|
<listitem><para>Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)</para></listitem> |
|
|
|
<listitem><para>Reorder \? help into groupings (Harald Armin Massa, Bruce)</para></listitem> |
|
|
|
<listitem><para>Reorder \? help into groupings (Harald Armin Massa, Bruce)</para></listitem> |
|
|
|
<listitem><para>Add backslash commands for listing schemas, casts, and conversions (Christopher)</para></listitem> |
|
|
|
<listitem><para>Add backslash commands for listing schemas, casts, and conversions (Christopher)</para></listitem> |
|
|
|
<listitem><para>\encoding now changes based on the client_encoding server variable (Tom)</para> |
|
|
|
<listitem><para>\encoding now changes based on the client_encoding server variable (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
In previous versions, \encoding was not aware of encoding changes |
|
|
|
In previous versions, \encoding was not aware of encoding changes |
|
|
|
made using SET CLIENT_ENCODING. |
|
|
|
made using SET CLIENT_ENCODING. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Save edit history into readline history (Ross)</para> |
|
|
|
<listitem><para>Save edit history into readline history (Ross)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
When \e is used to edit a query, the result is saved in the readline |
|
|
|
When \e is used to edit a query, the result is saved in the readline |
|
|
|
history for retrieval using the up arrow. |
|
|
|
history for retrieval using the up arrow. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Improve \d display (Christopher)</para></listitem> |
|
|
|
<listitem><para>Improve \d display (Christopher)</para></listitem> |
|
|
|
<listitem><para>Enhance HTML mode to be more standards-compliant (Greg)</para></listitem> |
|
|
|
<listitem><para>Enhance HTML mode to be more standards-compliant (Greg)</para></listitem> |
|
|
|
<listitem><para>New '\set AUTOCOMMIT off' capability (Tom)</para> |
|
|
|
<listitem><para>New '\set AUTOCOMMIT off' capability (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This takes the place of the remove server variable 'autocommit'. |
|
|
|
This takes the place of the remove server variable 'autocommit'. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>New '\set VERBOSITY' to control error detail (Tom)</para> |
|
|
|
<listitem><para>New '\set VERBOSITY' to control error detail (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This controls the new error reporting details. |
|
|
|
This controls the new error reporting details. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>New %T prompt string to show transaction status (Tom)</para></listitem> |
|
|
|
<listitem><para>New %T prompt string to show transaction status (Tom)</para></listitem> |
|
|
|
<listitem><para>Long options for <application>psql</application> are now available on all platforms</para></listitem> |
|
|
|
<listitem><para>Long options for <application>psql</application> are now available on all platforms</para></listitem> |
|
|
@ -1046,7 +864,6 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil)</para></listitem> |
|
|
|
<listitem><para>Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil)</para></listitem> |
|
|
|
<listitem><para>Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY (Bruce)</para> |
|
|
|
<listitem><para>Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY (Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Win32 requires that memory allocated in a library be freed by a |
|
|
|
Win32 requires that memory allocated in a library be freed by a |
|
|
|
function in the same library, hence free() doesn't work for freeing |
|
|
|
function in the same library, hence free() doesn't work for freeing |
|
|
@ -1054,15 +871,12 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
libpq memory, especially on Win32, and is recommended for other |
|
|
|
libpq memory, especially on Win32, and is recommended for other |
|
|
|
platforms as well. |
|
|
|
platforms as well. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Document service capability, and add sample file (Bruce)</para> |
|
|
|
<listitem><para>Document service capability, and add sample file (Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows clients to look up connection information in a central |
|
|
|
This allows clients to look up connection information in a central |
|
|
|
file on the client machine. |
|
|
|
file on the client machine. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Make PQsetdbLogin() have the same defaults as PQconnectdb() (Tom)</para></listitem> |
|
|
|
<listitem><para>Make PQsetdbLogin() have the same defaults as PQconnectdb() (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow libpq to cleanly fail when result sets are too large (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow libpq to cleanly fail when result sets are too large (Tom)</para></listitem> |
|
|
@ -1074,13 +888,11 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
"prefer", and "require" (Jon Jensen)</para></listitem> |
|
|
|
"prefer", and "require" (Jon Jensen)</para></listitem> |
|
|
|
<listitem><para>Allow new error codes and levels of text (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow new error codes and levels of text (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow access to the underlying table and column of a query result (Tom)</para> |
|
|
|
<listitem><para>Allow access to the underlying table and column of a query result (Tom)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This is helpful for query-builder applications that want to know the |
|
|
|
This is helpful for query-builder applications that want to know the |
|
|
|
underlying table and column names associated with a specific result |
|
|
|
underlying table and column names associated with a specific result |
|
|
|
set. |
|
|
|
set. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Allow access to the current transaction status (Tom)</para></listitem> |
|
|
|
<listitem><para>Allow access to the current transaction status (Tom)</para></listitem> |
|
|
|
<listitem><para>Add ability to pass binary data directly to the backend (Tom)</para></listitem> |
|
|
|
<listitem><para>Add ability to pass binary data directly to the backend (Tom)</para></listitem> |
|
|
@ -1102,21 +914,17 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
<listitem><para>Prevent possible memory leak or core dump during libpgtcl shutdown (Tom)</para></listitem> |
|
|
|
<listitem><para>Prevent possible memory leak or core dump during libpgtcl shutdown (Tom)</para></listitem> |
|
|
|
<listitem><para>Add ecpg Informix compatibility (Michael)</para> |
|
|
|
<listitem><para>Add ecpg Informix compatibility (Michael)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows ecpg to process embedded C programs that were written |
|
|
|
This allows ecpg to process embedded C programs that were written |
|
|
|
using certain Informix extensions. |
|
|
|
using certain Informix extensions. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Add ecpg DECIMAL type that is fixed length, for Informix (Michael)</para></listitem> |
|
|
|
<listitem><para>Add ecpg DECIMAL type that is fixed length, for Informix (Michael)</para></listitem> |
|
|
|
<listitem><para>Allow thread-safe ecpg with --enable-thread-safety (Lee Kindness, Bruce)</para> |
|
|
|
<listitem><para>Allow thread-safe ecpg with --enable-thread-safety (Lee Kindness, Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This allows multiple ecpg threads to access the database at the same |
|
|
|
This allows multiple ecpg threads to access the database at the same |
|
|
|
time. |
|
|
|
time. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Move python client interface to http://www.pygresql.org (Marc)</para></listitem> |
|
|
|
<listitem><para>Move python client interface to http://www.pygresql.org (Marc)</para></listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
@ -1145,20 +953,16 @@ zero-row record variable (Tom)</para></listitem> |
|
|
|
<listitem><para>Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil)</para></listitem> |
|
|
|
<listitem><para>Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil)</para></listitem> |
|
|
|
<listitem><para>Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce)</para></listitem> |
|
|
|
<listitem><para>Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce)</para></listitem> |
|
|
|
<listitem><para>Remove --enable-recode option to configure</para> |
|
|
|
<listitem><para>Remove --enable-recode option to configure</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This was no longer needed now that we have CREATE CONVERSION. |
|
|
|
This was no longer needed now that we have CREATE CONVERSION. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
<listitem><para>Generate a compile error if spinlock code is not found (Bruce)</para> |
|
|
|
<listitem><para>Generate a compile error if spinlock code is not found (Bruce)</para> |
|
|
|
<note> |
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Platforms without spinlock code will now fail to compile, rather |
|
|
|
Platforms without spinlock code will now fail to compile, rather |
|
|
|
than silently using semaphores. This failure can be disabled with a |
|
|
|
than silently using semaphores. This failure can be disabled with a |
|
|
|
new configure option. |
|
|
|
new configure option. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</note> |
|
|
|
|
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
</itemizedlist></sect2> |
|
|
|
</itemizedlist></sect2> |
|
|
|
|
|
|
|
|
|
|
|