Commit 6c34acce authored by Tom Lane's avatar Tom Lane

Update release notes through yesterday; some minor wordsmithing.

parent f4af189d
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.625 2009/04/09 17:39:47 tgl Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.626 2009/04/09 23:22:49 tgl Exp $ -->
<!-- <!--
Typical markup: Typical markup:
...@@ -69,7 +69,7 @@ do it for earlier branch release files. ...@@ -69,7 +69,7 @@ do it for earlier branch release files.
<note> <note>
<title>Release date</title> <title>Release date</title>
<simpara>2009-XX-XX, ITEMS CURRENT AS OF 2009-03-16</simpara> <simpara>2009-XX-XX, ITEMS CURRENT AS OF 2009-04-08</simpara>
</note> </note>
<sect2> <sect2>
...@@ -89,7 +89,97 @@ do it for earlier branch release files. ...@@ -89,7 +89,97 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
*MAJOR ITEM LIST GOES HERE* Windowing Functions
</para>
</listitem>
<listitem>
<para>
Common Table Expressions and Recursive Joins
</para>
</listitem>
<listitem>
<para>
Default and variadic parameters for functions
</para>
</listitem>
<listitem>
<para>
Parallel Restore
</para>
</listitem>
<listitem>
<para>
Column Permissions
</para>
</listitem>
<listitem>
<para>
Per-database locale settings
</para>
</listitem>
<listitem>
<para>
Improved hash indexes
</para>
</listitem>
<listitem>
<para>
Improved join performance for EXISTS and NOT EXISTS queries
</para>
</listitem>
<listitem>
<para>
Easier-to-use Warm Standby
</para>
</listitem>
<listitem>
<para>
Automatic sizing of the Free Space Map
</para>
</listitem>
<listitem>
<para>
Visibility Map (greatly reduces vacuum overhead for slowly-changing tables)
</para>
</listitem>
<listitem>
<para>
Version-aware psql (backslash commands work against older servers)
</para>
</listitem>
<listitem>
<para>
Support SSL certificates for authentication
</para>
</listitem>
<listitem>
<para>
Per-function runtime statistics
</para>
</listitem>
<listitem>
<para>
Easy editing of functions in psql
</para>
</listitem>
<listitem>
<para>
New contrib modules: pg_stat_statements, auto_explain, citext, btree_gin
</para> </para>
</listitem> </listitem>
...@@ -150,24 +240,24 @@ do it for earlier branch release files. ...@@ -150,24 +240,24 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Change <filename>postgresql.conf</> default for log_min_messages Change <filename>postgresql.conf</> default for
to <literal>warning</> (previously <literal>notice</>) to reduce <literal>log_min_messages</> to <literal>warning</> (previously
log file volume (Tom) <literal>notice</>) to reduce log file volume (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have debug_print_parse, debug_print_rewritten, and debug_print_plan Have <literal>debug_print_parse</>, <literal>debug_print_rewritten</>,
output appear as <literal>LOG</> message level, not and <literal>debug_print_plan</>
<literal>DEBUG1</> (Tom) bjm: inconsistency because of var output appear at <literal>LOG</> message level, not
names? <literal>DEBUG1</> as formerly (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have debug_pretty_print default to on (Tom) Make <literal>debug_pretty_print</> default to <literal>on</> (Tom)
</para> </para>
</listitem> </listitem>
...@@ -181,7 +271,7 @@ do it for earlier branch release files. ...@@ -181,7 +271,7 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Disable appending of the epoch date/time when no <literal>%</> Disable appending of the epoch date/time when no <literal>%</>
escapes are present in log_filename (Robert Haas) escapes are present in <literal>log_filename</> (Robert Haas)
</para> </para>
<para> <para>
...@@ -240,16 +330,15 @@ do it for earlier branch release files. ...@@ -240,16 +330,15 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Have children inherit <literal>CHECK</> constraints from parents Force child tables to inherit <literal>CHECK</> constraints from parents
(Alex Hunsaker, Nikhil Sontakke, Tom Lane) (Alex Hunsaker, Nikhil Sontakke, Tom Lane)
</para> </para>
</listitem>
<listitem>
<para> <para>
Force child tables to have the same <literal>CHECK</> constraints Formerly it was possible to delete such a constraint from a child
as parents (Alex Hunsaker, Nikhil Sontakke, Tom Lane) bjm: table, allowing rows that violate the constraint to be visible
verify when scanning the parent table. This was deemed inconsistent,
as well as contrary to SQL standard.
</para> </para>
</listitem> </listitem>
...@@ -284,13 +373,6 @@ do it for earlier branch release files. ...@@ -284,13 +373,6 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <command>DISCARD ALL</> also discard advisory locks (Marko
Kreen)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -320,7 +402,7 @@ do it for earlier branch release files. ...@@ -320,7 +402,7 @@ do it for earlier branch release files.
</para> </para>
<para> <para>
The changed behavior is more <acronym>IEEE</>-standards The changed behavior is more <acronym>IEEE</>-standard
compliant. compliant.
</para> </para>
</listitem> </listitem>
...@@ -335,16 +417,37 @@ do it for earlier branch release files. ...@@ -335,16 +417,37 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Remove <literal>~=~</> and <literal>~&lt;&gt;~</> operators Remove <literal>~=~</> and <literal>~&lt;&gt;~</> operators
used for <literal>LIKE</> index comparisons (Tom) bjm: needed, formerly used for <literal>LIKE</> index comparisons (Tom)
pg_upgrade impact? </para>
<para>
Pattern indexes now use the regular equality operator.
</para>
</listitem>
<listitem>
<para>
<function>xpath()</> now passes its arguments to <application>libxml</>
without any changes (Andrew)
</para>
<para>
This means that the XML argument must be a well-formed XML document.
The previous coding attempted to allow XML fragments, but it did not
work well.
</para>
</listitem>
<listitem>
<para>
Make <function>xmlelement()</> format attribute values just like
content values (Peter)
</para> </para>
<para> <para>
A not-immediately-obvious incompatibility is that the sort Previously, attribute values were formatted according to the
order within <literal>bpchar_pattern_ops</> indexes changes normal SQL output behavior, which is sometimes at odds with
--- it had been identical to plain <function>strcmp()</>, but XML rules.
is now trailing-blank-insensitive. This will impact in-place
upgrades, if those ever happen.
</para> </para>
</listitem> </listitem>
...@@ -452,11 +555,13 @@ do it for earlier branch release files. ...@@ -452,11 +555,13 @@ do it for earlier branch release files.
</para> </para>
<para> <para>
This causes <command>SELECT DISTINCT</> no longer always produces This means that these types of queries no longer automatically
sorted output; add an <literal>ORDER BY</> clause. The old produce sorted output. The recommended response is to add an
<literal>SELECT DISTINCT</> behavior can be restored by disabling <literal>ORDER BY</> clause if needed. As a short-term workaround,
enable_hashagg. <literal>SELECT DISTINCT ON</> does not use the previous behavior can be restored by
hashing. bjm: enable_hashagg accurate? disabling <literal>enable_hashagg</>, but that is a very
performance-expensive fix. <literal>SELECT DISTINCT ON</> never
uses hashing.
</para> </para>
</listitem> </listitem>
...@@ -468,7 +573,7 @@ do it for earlier branch release files. ...@@ -468,7 +573,7 @@ do it for earlier branch release files.
<para> <para>
While semi-joins merely replace existing <literal>IN</> joins, While semi-joins merely replace existing <literal>IN</> joins,
anti-joins are a new capability for <literal>NOT EXISTS</> anti-joins are a new capability for <literal>NOT EXISTS</>
clauses (Tom) This improves optimization possibilities. clauses. This improves optimization possibilities.
</para> </para>
</listitem> </listitem>
...@@ -560,6 +665,29 @@ do it for earlier branch release files. ...@@ -560,6 +665,29 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve performance of multi-batch hash joins by providing a special
case for join key values that are especially common in the outer
relation (Bryce Cutt, Ramon Lawrence)
</para>
</listitem>
<listitem>
<para>
Reduce volume of temporary data in multi-batch hash joins
by suppressing <quote>physical tlist</> optimization (Michael
Henderson, Ramon Lawrence)
</para>
</listitem>
<listitem>
<para>
Avoid waiting for idle-in-transaction sessions during
<command>CREATE INDEX CONCURRENTLY</> (Simon)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -742,6 +870,18 @@ do it for earlier branch release files. ...@@ -742,6 +870,18 @@ do it for earlier branch release files.
<title>Continuous Archiving</title> <title>Continuous Archiving</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
Provide an option to <function>pg_start_backup()</> to force its
implied checkpoint to finish as quickly as possible (Tom)
</para>
<para>
The default behavior avoids excess I/O consumption, but that is
pointless if no concurrent query activity is going on.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Have <function>pg_stop_backup()</> wait for modified <acronym>WAL</> Have <function>pg_stop_backup()</> wait for modified <acronym>WAL</>
...@@ -910,10 +1050,8 @@ do it for earlier branch release files. ...@@ -910,10 +1050,8 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Support set-returning functions in the target lists of Agg and Support set-returning functions in the output of aggregation
Group plan nodes. This is a pretty ugly feature but since we and grouping queries (Tom)
don't yet have a plausible substitute, we'd better support it
everywhere (Tom) bjm: details?
</para> </para>
</listitem> </listitem>
...@@ -932,34 +1070,32 @@ do it for earlier branch release files. ...@@ -932,34 +1070,32 @@ do it for earlier branch release files.
<para> <para>
There are no remote or external <acronym>SQL/MED</> capabilities There are no remote or external <acronym>SQL/MED</> capabilities
yet. bjm: accurate? yet, but this change provides a standardized and future-proof
system for managing connection information for modules like
dblink and plproxy.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Invalidate cached plans when schemas, operators, or operator Invalidate cached plans when referenced schemas, functions, operators,
classes are modified (Tom) bjm: effect? or operator classes are modified (Martin Pihlak, Tom)
</para> </para>
</listitem>
<listitem>
<para> <para>
Improve the plan cache invalidation mechanism to make it This improves the system's ability to respond to on-the-fly
invalidate plans when user-defined functions used in a plan DDL changes.
are modified (Tom, Martin Pihlak) bjm: explain
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow comparison of composite types and allow arrays of Allow comparison of composite types and allow arrays of
possibly-anonymous composite types (Tom) bjm: clear? anonymous composite types (Tom)
</para> </para>
<para> <para>
Specifically this allows <literal>array[ row(1,2), row(3,4)]</> Specifically this allows <literal>array[row(1,2), row(3,4)]</>
and <literal>row(1,1.1) = any (array[ row(7,7.7), row(1,1.0)</>. and <literal>row(1,1.1) = any (array[row(7,7.7), row(1,1.0)])</>.
This is particularly useful for recursive queries. This is particularly useful for recursive queries.
</para> </para>
</listitem> </listitem>
...@@ -1036,6 +1172,13 @@ do it for earlier branch release files. ...@@ -1036,6 +1172,13 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <command>EXPLAIN</> identify subplans and initplans with
individual labels (Tom)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Have <command>EXPLAIN</> honor <varname>debug_print_plan</> (Tom) Have <command>EXPLAIN</> honor <varname>debug_print_plan</> (Tom)
...@@ -1072,11 +1215,12 @@ do it for earlier branch release files. ...@@ -1072,11 +1215,12 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Add <acronym>SQL</>-standards syntax for Add <acronym>SQL</>-standard syntax for
<literal>LIMIT</>/<literal>OFFSET</> capabilities (Peter) <literal>LIMIT</>/<literal>OFFSET</> capabilities (Peter)
</para> </para>
<para> <para>
To wit,
<literal>OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} <literal>OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS}
ONLY</>. ONLY</>.
</para> </para>
...@@ -1139,7 +1283,8 @@ do it for earlier branch release files. ...@@ -1139,7 +1283,8 @@ do it for earlier branch release files.
</para> </para>
<para> <para>
This simplifies creation of data types like existing types. This simplifies creation of data types that use the same internal
representation as an existing type.
</para> </para>
</listitem> </listitem>
...@@ -1335,8 +1480,19 @@ do it for earlier branch release files. ...@@ -1335,8 +1480,19 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Special xxx_pattern_ops <literal>LIKE</> indexes can now be Implement fast update for GIN indexes (Teodor, Oleg)
used for simple equality comparisons (Tom) </para>
<para>
This option greatly improves update speed at a small penalty in search
speed.
</para>
</listitem>
<listitem>
<para>
<literal>xxx_pattern_ops</> indexes can now be used for simple
equality comparisons, not only <literal>LIKE</> (Tom)
</para> </para>
</listitem> </listitem>
...@@ -1381,6 +1537,12 @@ do it for earlier branch release files. ...@@ -1381,6 +1537,12 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve support for Nepali language and Devanagari alphabet (Teodor)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Support multi-column <acronym>GIN</> indexes (Teodor Sigaev) Support multi-column <acronym>GIN</> indexes (Teodor Sigaev)
...@@ -1506,6 +1668,13 @@ do it for earlier branch release files. ...@@ -1506,6 +1668,13 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Allow spaces around <literal>NaN</> in the input string for
type <type>numeric</> (Sam Mason)
</para>
</listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -1949,11 +2118,7 @@ do it for earlier branch release files. ...@@ -1949,11 +2118,7 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Improve the <literal>RAISE</> command: (Pavel Stehule) Improve the <literal>RAISE</> command: (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
...@@ -2004,12 +2169,27 @@ do it for earlier branch release files. ...@@ -2004,12 +2169,27 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <command>FETCH</> and <command>MOVE</> set the
<command>GET DIAGNOSTICS</> <literal>ROW_COUNT</> variable
(Andrew Gierth)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add message translation support (Alvaro) Add message translation support (Alvaro)
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Avoid memory leakage when the same function is called at varying
exception-block nesting depths (Tom)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2181,12 +2361,14 @@ do it for earlier branch release files. ...@@ -2181,12 +2361,14 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Have all <command>\d*</> commands show system objects only Make <command>\d*</> commands that do not have a pattern argument
if <literal>S</> is specified (Greg Sabino Mullane) show system objects only if the <literal>S</> modifier is specified
(Greg Sabino Mullane, Bruce)
</para> </para>
<para> <para>
<command>\dt</> already behaved this way. bjm: accuate? The former behavior was inconsistent across different variants
of <command>\d</>, and provided no easy way to see just user objects.
</para> </para>
</listitem> </listitem>
...@@ -2221,6 +2403,20 @@ do it for earlier branch release files. ...@@ -2221,6 +2403,20 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <command>\df</> not hide functions that take or return
type <type>cstring</> (Tom)
</para>
<para>
Previously, such functions were hidden because most of them are
datatype I/O functions, which were deemed uninteresting. The new
policy about hiding system functions by default makes this wart
unnecessary.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2240,7 +2436,22 @@ do it for earlier branch release files. ...@@ -2240,7 +2436,22 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Remove <literal>-i</>/<literal>--ignore-version</> option from Remove <option>-d</> and <option>-D</> options from
<application>pg_dump</> and <application>pg_dumpall</> (Tom)
</para>
<para>
These options were too frequently confused with the option to
select a database name in other <productname>PostgreSQL</>
client applications. The functionality is still available,
but you must spell out the long option name
<option>--inserts</> or <option>--column-inserts</>.
</para>
</listitem>
<listitem>
<para>
Remove <option>-i</>/<option>--ignore-version</> option from
<application>pg_dump</> and <application>pg_dumpall</> (Tom) <application>pg_dump</> and <application>pg_dumpall</> (Tom)
</para> </para>
...@@ -2261,7 +2472,7 @@ do it for earlier branch release files. ...@@ -2261,7 +2472,7 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Add <application>pg_dump</>/<application>pg_dumpall</> option Add <application>pg_dump</>/<application>pg_dumpall</> option
<literal>--lock-wait-timeout</> (David Gould) <option>--lock-wait-timeout</> (David Gould)
</para> </para>
<para> <para>
...@@ -2411,15 +2622,22 @@ do it for earlier branch release files. ...@@ -2411,15 +2622,22 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Add a <function>PQinitOpenSSL</> function to allow greater control
over OpenSSL/libcrypto initialization (Andrew Chernow)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Properly unregister <application>OpenSSL</> callbacks when Properly unregister <application>OpenSSL</> callbacks when
libpq is done with all connection (Bruce, Magnus, Russell Smith) libpq is done with all connections (Bruce, Magnus, Russell Smith)
</para> </para>
<para> <para>
This is required for applications that unload the libpq library This is required for applications that unload the libpq library,
so no invalid <application>OpenSSL</> callbacks remain. otherwise invalid <application>OpenSSL</> callbacks will remain.
</para> </para>
</listitem> </listitem>
...@@ -2572,6 +2790,18 @@ do it for earlier branch release files. ...@@ -2572,6 +2790,18 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Use the system's <function>getopt_long()</> on <productname>Solaris</>
(Zdenek Kotala, Tom)
</para>
<para>
This makes option processing more consistent with what Solaris users
expect.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add support for the <productname>Sun Studio</> compiler on Add support for the <productname>Sun Studio</> compiler on
...@@ -2628,6 +2858,13 @@ do it for earlier branch release files. ...@@ -2628,6 +2858,13 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve <application>gettext</> support to allow better translation
of plurals (Peter)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add <application>DTrace</> probes (Robert Lor) Add <application>DTrace</> probes (Robert Lor)
...@@ -2648,6 +2885,13 @@ do it for earlier branch release files. ...@@ -2648,6 +2885,13 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Add a <structfield>relistemp</> column to <structname>pg_class</>
to ease identification of temporary tables (Tom)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve logic for shared cache invalidation (Tom) Improve logic for shared cache invalidation (Tom)
...@@ -2656,7 +2900,7 @@ do it for earlier branch release files. ...@@ -2656,7 +2900,7 @@ do it for earlier branch release files.
<listitem> <listitem>
<para> <para>
Make <type>name</> char-aligned (Tom) bjm: pg_upgrade? Make <type>name</> char-aligned (Tom)
</para> </para>
</listitem> </listitem>
...@@ -2784,6 +3028,13 @@ do it for earlier branch release files. ...@@ -2784,6 +3028,13 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Add <filename>/contrib/btree_gin</> to allow GIN indexes to
handle more datatypes (Oleg, Teodor)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add <filename>/contrib/citext</> as a case-insensitive, Add <filename>/contrib/citext</> as a case-insensitive,
...@@ -2831,6 +3082,20 @@ do it for earlier branch release files. ...@@ -2831,6 +3082,20 @@ do it for earlier branch release files.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Remove <filename>/contrib/intarray</>'s definitions of the
<literal>&lt;@</> and <literal>@&gt;</> operators (Tom)
</para>
<para>
This avoids confusion with the equivalent built-in operators.
If necessary, the <filename>/contrib/intarray</> implementations
are still available under their historical names <literal>@</>
and <literal>~</>.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add <filename>/contrib/auto_explain</> to automatically run Add <filename>/contrib/auto_explain</> to automatically run
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment