Further editing of release notes.

This commit is contained in:
Tom Lane 2010-08-24 23:45:32 +00:00
parent 99ee43c57b
commit 7dc04cd204
1 changed files with 291 additions and 174 deletions

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.51 2010/08/24 14:46:29 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.52 2010/08/24 23:45:32 tgl Exp $ -->
<sect1 id="release-9-0"> <sect1 id="release-9-0">
<title>Release 9.0</title> <title>Release 9.0</title>
@ -43,50 +43,48 @@
<listitem> <listitem>
<para> <para>
Easier database object permissions management. <link Easier database object permissions management. <link
linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE IN
IN SCHEMA</></link> supports mass permissions changes, and SCHEMA</></link> supports mass permissions changes on existing objects,
the <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER while <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER DEFAULT
DEFAULT PRIVILEGES</></link> command controls privileges PRIVILEGES</></link> allows control of privileges for objects created in
of all newly-created objects. Large object permissions now the future. Large objects (BLOBs) now support privilege management as
support <command>GRANT</>/<command>REVOKE</> as well. well.
</para>
</listitem>
<listitem>
<para>
Add support for compiling on <link
linkend="install-win32-full">64-bit
<productname>Windows</></link> and running in 64-bit
mode.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Broadly enhanced stored procedure support. Broadly enhanced stored procedure support.
The <link linkend="SQL-DO"><command>DO</></link> statement permits The <link linkend="SQL-DO"><command>DO</></link> statement supports
ad-hoc or anonymous code blocks. Functions can now be called using named ad-hoc or <quote>anonymous</> code blocks.
parameters. <link linkend="plpgsql">PL/pgSQL</link> is now installed by default, Functions can now be called using named parameters.
and <link linkend="plperl">PL/Perl</link> and <link linkend="plpython">PL/Python</link> <link linkend="plpgsql">PL/pgSQL</link> is now installed by default, and
have been enhanced in several ways, including support for Python3. <link linkend="plperl">PL/Perl</link> and <link
linkend="plpython">PL/Python</link> have been enhanced in several ways,
including support for Python3.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
More advanced reporting queries with additional <link Full support for <link linkend="install-win32">64-bit
linkend="functions-window">window functions</link> <productname>Windows</></link>.
(<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability
to <link linkend="syntax-aggregates"><literal>ORDER BY</></link>
inside aggregate functions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Triggers now support two new features, More advanced reporting queries, including additional windowing options
SQL-compliant <link (<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability to
linkend="SQL-CREATETRIGGER">per-column triggers</link>, and control the order in which values are fed to aggregate functions.
</para>
</listitem>
<listitem>
<para>
New trigger features, including
SQL-standard-compliant <link
linkend="SQL-CREATETRIGGER">per-column triggers</link> and
conditional trigger execution. conditional trigger execution.
</para> </para>
</listitem> </listitem>
@ -101,26 +99,46 @@
<listitem> <listitem>
<para> <para>
New and enhanced security features, including <link linkend="client-authentication">RADIUS authentication</link>, <link linkend="ddl-constraints-exclusion">Exclusion constraints</link>.
LDAP authentication improvements, and the new <link linkend="passwordcheck">passwordcheck</link> optional module These provide a generalized version of unique constraints, allowing
enforcement of complex conditions.
</para>
</listitem>
<listitem>
<para>
New and enhanced security features, including RADIUS authentication,
LDAP authentication improvements, and a new contrib module
<link linkend="passwordcheck"><filename>passwordcheck</></link>
for testing password strength. for testing password strength.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link New high-performance implementation of the
linkend="SQL-NOTIFY"><command>NOTIFY</></link> <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link
feature has been overhauled to make it into linkend="SQL-NOTIFY"><command>NOTIFY</></link> feature.
a high-performance event queuing system. It now stores Pending events are now stored in a memory-based queue rather than
events in a memory-based queue, and it now allows delivery a table. Also, a <quote>payload</> string can be sent with each
of a string payload to listeners with each event. event, rather than transmitting just an event name as before.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link> New implementation of
<link linkend="SQL-VACUUM"><command>VACUUM FULL</></link>.
This command now rewrites the entire table and indexes, rather than
moving individual rows to compact space. It is substantially faster
in most cases, and no longer results in index bloat.
</para>
</listitem>
<listitem>
<para>
New contrib module
<link linkend="pgupgrade"><filename>pg_upgrade</></link>
to support in-place upgrades from 8.3 or 8.4 to 9.0. to support in-place upgrades from 8.3 or 8.4 to 9.0.
</para> </para>
</listitem> </listitem>
@ -128,41 +146,24 @@
<listitem> <listitem>
<para> <para>
Multiple performance enhancements for specific types of queries, Multiple performance enhancements for specific types of queries,
including join elimination, which optimizes automatically generated including elimination of unnecessary joins. This helps optimize some
queries, such as those produced by object-relational mappers (ORMs). automatically-generated queries, such as those produced by
object-relational mappers (ORMs).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<link linkend="ddl-constraints-exclusion">Exclusion constraints</link> <link linkend="SQL-EXPLAIN "><command>EXPLAIN</></link> enhancements.
let database designers define uniqueness based on complex The output is now available in JSON, XML, or YAML format, and includes
criteria, including for non-scalar data such as time periods,
ranges and arrays.
</para>
</listitem>
<listitem>
<para>
As part of our decade-long effort to eliminate the pain of VACUUM,
<link linkend="vacuum-for-space-recovery"><command>VACUUM FULL</></link>
is now substantially faster by rewriting the entire table and
indexes, rather than moving around single rows to compact space.
</para>
</listitem>
<listitem>
<para>
<link linkend="using-explain"><command>EXPLAIN</command></link>
plans are now available in JSON, XML and YAML format, and include
buffer utilization and other data not previously available. buffer utilization and other data not previously available.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The <link linkend="hstore">HStore optional module</link> has been improved with new functions and greater <link linkend="hstore"><filename>hstore</></link> improvements,
data capacity to make it a high-performance key-value store. including new functions and greater data capacity.
</para> </para>
</listitem> </listitem>
@ -216,9 +217,9 @@
<listitem> <listitem>
<para> <para>
<link linkend="guc-wal-level"><varname>wal_level</></link> should now be Replace server parameter <varname>archive_mode</> with
set to <literal>archive</>, not <literal>on</>, to do continuous <link linkend="guc-wal-level"><varname>wal_level</></link>
archiving (Heikki Linnakangas) (Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
@ -252,18 +253,6 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <function>date_trunc</> truncate rather than round when reducing
fractional-seconds precision (Tom Lane)
</para>
<para>
The code always acted this way for integer-based dates/times.
Now float-based dates/times behave similarly.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
@ -316,6 +305,18 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <function>date_trunc</> truncate rather than round when reducing
precision of fractional seconds (Tom Lane)
</para>
<para>
The code always acted this way for integer-based dates/times.
Now float-based dates/times behave similarly.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
@ -550,11 +551,25 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve performance and reliability of EvalPlanQual rechecks in join
queries (Tom Lane)
</para>
<para>
<command>UPDATE</>, <command>DELETE</>, and <command>SELECT FOR
UPDATE/SHARE</> queries that involve joins will now behave much better
when encountering freshly-updated rows.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve performance of <link Improve performance of <link
linkend="SQL-TRUNCATE"><command>TRUNCATE</></link> when linkend="SQL-TRUNCATE"><command>TRUNCATE</></link> when
used in the same transaction as table creation (Tom Lane) the table was created or truncated earlier in the same transaction
(Tom Lane)
</para> </para>
</listitem> </listitem>
@ -580,8 +595,8 @@
</para> </para>
<para> <para>
Outer joins where the inner side is unique and not referenced in Outer joins where the inner side is unique and not referenced above
the query are unnecessary and are therefore now removed. This will the join are unnecessary and are therefore now removed. This will
accelerate many automatically generated queries, such as those created accelerate many automatically generated queries, such as those created
by object-relational mappers (ORMs). by object-relational mappers (ORMs).
</para> </para>
@ -599,6 +614,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Improve the optimizer's choices about when to use materialize nodes,
and when to use sorting versus hashing for <literal>DISTINCT</>
(Tom Lane)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve the optimizer's equivalence detection for expressions involving Improve the optimizer's equivalence detection for expressions involving
@ -634,7 +657,8 @@
</para> </para>
<para> <para>
This avoids the rare error <quote>failed to make a valid plan</>. This avoids the rare error <quote>failed to make a valid plan</>,
and should also improve planning speed.
</para> </para>
</listitem> </listitem>
@ -823,7 +847,7 @@
Add <link Add <link
linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</></link> linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</></link>
and <function>pg_stat_reset_single_function_counters()</> and <function>pg_stat_reset_single_function_counters()</>
to allow resetting of the statistics counters for individual to allow resetting the statistics counters for individual
tables and indexes (Magnus Hagander) tables and indexes (Magnus Hagander)
</para> </para>
</listitem> </listitem>
@ -849,9 +873,11 @@
not combinations. All role and database settings are now stored not combinations. All role and database settings are now stored
in the new <structname>pg_db_role_setting</> system table. A new in the new <structname>pg_db_role_setting</> system table. A new
<application>psql</> command <literal>\drds</> shows these settings. <application>psql</> command <literal>\drds</> shows these settings.
Backwards-compatible system views do not show combination settings. The legacy system views <structname>pg_roles</>,
<structname>pg_shadow</>, and <structname>pg_user</>
do not show combination settings, and therefore no longer
completely represent the configuration for a user or database.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -884,6 +910,19 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Change server parameter <link
linkend="guc-log-temp-files"><varname>log_temp_files</></link> to
use default file size units of kilobytes (Robert Haas)
</para>
<para>
Previously this setting was interpreted in bytes if no units were
specified.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Log changes of parameter values when <filename>postgresql.conf</> is Log changes of parameter values when <filename>postgresql.conf</> is
@ -895,36 +934,24 @@
settings, and is also very convenient for checking the effects of settings, and is also very convenient for checking the effects of
<filename>postgresql.conf</> edits. <filename>postgresql.conf</> edits.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add proper permissions for custom server parameters (Tom Lane) Properly enforce superuser permissions for custom server parameters
(Tom Lane)
</para> </para>
<para> <para>
Custom parameters can now only be created by super-users, Non-superusers can no longer issue <command>ALTER
but then can be modified by ordinary users if the parameter's ROLE</>/<command>DATABASE SET</> for parameters that are not currently
permissions allow it. This makes custom parameters known to the server. This allows the server to correctly check that
appropriate for security-related settings. Previously, any user superuser-only parameters are only set by superusers. Previously,
could create or modify custom parameters. the <literal>SET</> would be allowed and then ignored at session start,
making superuser-only custom parameters practically useless.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Change server parameter <link
linkend="guc-log-temp-files"><varname>log_temp_files</></link> to
use default file size units of kilobytes (Robert Haas)
</para>
<para>
Previously this setting was interpreted in bytes if no units were
specified.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
@ -957,7 +984,7 @@
<para> <para>
Allow mixing of traditional and SQL-standard <link Allow mixing of traditional and SQL-standard <link
linkend="SQL-LIMIT"><literal>LIMIT</>/<literal>OFFSET</></link> linkend="SQL-LIMIT"><literal>LIMIT</>/<literal>OFFSET</></link>
syntax in the same query (Tom Lane) syntax (Tom Lane)
</para> </para>
</listitem> </listitem>
@ -1063,29 +1090,14 @@
</itemizedlist> </itemizedlist>
<sect4> <sect4>
<title><command>ALTER</></title> <title><command>ALTER TABLE</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER Implement <literal>IF EXISTS</> for <literal>ALTER TABLE DROP COLUMN</>
DEFAULT PRIVILEGES</></link> command to control privileges and <literal>ALTER TABLE DROP CONSTRAINT </> (Andres Freund)
of objects created later (Petr Jelinek)
</para>
<para>
This greatly simplifies the assignment of object privileges in a
complex database application. Default privileges can be set for
tables, views, sequences, and functions. Defaults may be assigned on a
per-schema basis, or database-wide.
</para>
</listitem>
<listitem>
<para>
Implement <literal>IF EXISTS</> for <literal>DROP COLUMN</> and
<literal>DROP CONSTRAINT </> (Andres Freund)
</para> </para>
</listitem> </listitem>
@ -1223,7 +1235,21 @@
and makes it easier to utilize database roles for application and makes it easier to utilize database roles for application
data security. data security.
</para> </para>
</listitem>
<listitem>
<para>
Add <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER
DEFAULT PRIVILEGES</></link> command to control privileges
of objects created later (Petr Jelinek)
</para>
<para>
This greatly simplifies the assignment of object privileges in a
complex database application. Default privileges can be set for
tables, views, sequences, and functions. Defaults may be assigned on a
per-schema basis, or database-wide.
</para>
</listitem> </listitem>
<listitem> <listitem>
@ -1235,7 +1261,7 @@
<para> <para>
Formerly, any database user could read or modify any large object. Formerly, any database user could read or modify any large object.
Read and write permissions can now be granted and revoked per Read and write permissions can now be granted and revoked per
large object. large object, and the ownership of large objects is tracked.
</para> </para>
</listitem> </listitem>
@ -1285,7 +1311,7 @@
</para> </para>
<para> <para>
Global catalogs still cannot be clustered. Shared catalogs still cannot be clustered.
</para> </para>
</listitem> </listitem>
@ -1429,6 +1455,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
By default, multicolumn indexes are now named after all their columns;
and index expression columns are now named based on their expressions
(Tom Lane)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Reindexing shared system catalogs is now fully transactional Reindexing shared system catalogs is now fully transactional
@ -1521,7 +1555,7 @@
<listitem> <listitem>
<para> <para>
Tighten input requirements for <type>int2vector</> input (Caleb Tighten input checking for <type>int2vector</> values (Caleb
Welton) Welton)
</para> </para>
</listitem> </listitem>
@ -1630,9 +1664,9 @@
<listitem> <listitem>
<para> <para>
Fix <function>to_char()</> to output the proper localized Fix <function>to_char()</> to output localized numeric and monetary
numeric and monetary characters on <productname>Windows</> strings in the correct encoding on <productname>Windows</>
(Hiroshi Inoue, Itagaki Takahir, Bruce Momjian) (Hiroshi Inoue, Itagaki Takahiro, Bruce Momjian)
</para> </para>
</listitem> </listitem>
@ -1654,8 +1688,7 @@
<listitem> <listitem>
<para> <para>
Allow aggregate functions to use <link Allow aggregate functions to use <link
linkend="syntax-aggregates"><literal>ORDER BY</></> (Andrew linkend="syntax-aggregates"><literal>ORDER BY</></> (Andrew Gierth)
Gierth)
</para> </para>
<para> <para>
@ -1666,6 +1699,13 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Multi-argument aggregate functions can now use <literal>DISTINCT</>
(Andrew Gierth)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add the <link Add the <link
@ -1746,16 +1786,24 @@
<listitem> <listitem>
<para> <para>
Make the <link linkend="information-schema">information_schema</link> Update the <link linkend="information-schema">information_schema</link>
views properly display maximum octet lengths for <type>char</> and views to conform to SQL:2008
<type>varchar</> columns, as well as the proper precision for datetime (Peter Eisentraut)
columns (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Speed up information_schema privilege views (Joachim Wieland) Make the <literal>information_schema</> views correctly display maximum
octet lengths for <type>char</> and <type>varchar</> columns (Peter
Eisentraut)
</para>
</listitem>
<listitem>
<para>
Speed up <literal>information_schema</> privilege views
(Joachim Wieland)
</para> </para>
</listitem> </listitem>
@ -1889,6 +1937,23 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Avoid throwing an unnecessary error for an invalid record reference
(Tom Lane)
</para>
<para>
An error is now thrown only if the reference is actually fetched,
rather than whenever the enclosing expression is reached. For
example, many people have tried to do this in triggers:
<programlisting>
if TG_OP = 'INSERT' AND NEW.col1 = ... then
</programlisting>
This will now actually work as expected.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Improve PL/pgSQL's ability to handle row types with dropped columns Improve PL/pgSQL's ability to handle row types with dropped columns
@ -2057,22 +2122,23 @@
<para> <para>
<type>Bytea</> values passed into PL/Python are now represented as <type>Bytea</> values passed into PL/Python are now represented as
binary, rather than the PostgreSQL <type>bytea</> text format. Null binary, rather than the PostgreSQL <type>bytea</> text format.
bytes are now also output properly from PL/Python. <type>boolean</> <type>Bytea</> values containing null bytes are now also output
and <type>numeric</> value passing in PL/Python was also improved. properly from PL/Python. Passing of boolean, integer, and float
values was also improved.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="plpython-arrays">array parameter/return Support <link linkend="plpython-arrays">arrays</link> as parameters and
support</link> to PL/Python (Peter Eisentraut) return values in PL/Python (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve mapping of domains to Python base types in PL/Python (Peter Eisentraut) Improve mapping of SQL domains to Python types (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
@ -2330,10 +2396,10 @@
</para> </para>
<para> <para>
Previously the <application>pg_ctl</> process could have been mistakenly Previously, <application>pg_ctl</>'s parent process could have been
identified as a running <application>postmaster</> based on a stale mistakenly identified as a running <application>postmaster</> based on
<application>postmaster</> lock file, resulting in a transient failure a stale <application>postmaster</> lock file, resulting in a transient
to start the database. failure to start the database.
</para> </para>
</listitem> </listitem>
@ -2417,6 +2483,14 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Avoid extra system calls to block and unblock <literal>SIGPIPE</>
in <application>libpq</>, on platforms that offer alternative methods
(Jeremy Kerr)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
When a <link linkend="libpq-pgpass"><filename>.pgpass</></link>-supplied When a <link linkend="libpq-pgpass"><filename>.pgpass</></link>-supplied
@ -2517,20 +2591,20 @@
<listitem> <listitem>
<para> <para>
Add <application>ecpg</> out-of-scope cursor support in native mode Add out-of-scope cursor support in <application>ecpg</>'s native mode
(Boszormenyi Zoltan) (Boszormenyi Zoltan)
</para> </para>
<para> <para>
This allows <command>DECLARE</> to use variables that are not in This allows <command>DECLARE</> to use variables that are not in
scope when <command>OPEN</> is called. This facility already existed scope when <command>OPEN</> is called. This facility already existed
in <application>ecpg</> Informix-compatibility mode. in <application>ecpg</>'s Informix-compatibility mode.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow dynamic <application>ecpg</> cursor names (Boszormenyi Zoltan) Allow dynamic cursor names in <application>ecpg</> (Boszormenyi Zoltan)
</para> </para>
</listitem> </listitem>
@ -2601,15 +2675,15 @@
<para> <para>
These are similar to the existing <literal>all</>, <literal>install</>, These are similar to the existing <literal>all</>, <literal>install</>,
and <literal>installcheck</> targets, but they build <acronym>HTML</> and <literal>installcheck</> targets, but they also build
documentation, build and test <filename>contrib</>, and test <acronym>HTML</> documentation, build and test <filename>contrib</>,
server-side languages and <application>ecpg</>. and test server-side languages and <application>ecpg</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add data and documentation location control to <link Add data and documentation installation location control to <link
linkend="xfunc-c-pgxs"><acronym>PGXS</></link> Makefiles linkend="xfunc-c-pgxs"><acronym>PGXS</></link> Makefiles
(Mark Cave-Ayland) (Mark Cave-Ayland)
</para> </para>
@ -2617,8 +2691,9 @@
<listitem> <listitem>
<para> <para>
Add a Makefile rule to build documentation as a single text file Add Makefile rules to build documentation as a single <acronym>HTML</>
(Bruce Momjian) file or as a single plain-text file
(Peter Eisentraut, Bruce Momjian)
</para> </para>
</listitem> </listitem>
@ -2652,13 +2727,6 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Support multiprocessor compilation using <productname>Microsoft Visual
C</> (Magnus Hagander)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
@ -2757,14 +2825,39 @@
<listitem> <listitem>
<para> <para>
Improve the ability to translate <application>psql</> strings Automatically generate the initial contents of
<structname>pg_attribute</> for <quote>bootstrapped</> catalogs
(John Naylor)
</para>
<para>
This greatly simplifies changes to these catalogs.
</para>
</listitem>
<listitem>
<para>
Split the processing of
<command>INSERT</>/<command>UPDATE</>/<command>DELETE</> operations out
of <filename>execMain.c</> (Marko Tiikkaja)
</para>
<para>
Updates are now executed in a separate ModifyTable node. This change is
necessary infrastructure for future improvements.
</para>
</listitem>
<listitem>
<para>
Simplify translation of <application>psql</>'s SQL help text
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce the length of some file names so that all file paths in the Reduce the lengths of some file names so that all file paths in the
distribution tarball are less than 100 characters (Tom Lane) distribution tarball are less than 100 characters (Tom Lane)
</para> </para>
@ -2803,15 +2896,20 @@
<listitem> <listitem>
<para> <para>
Restructure the <acronym>HTML</> documentation build Restructure the <acronym>HTML</> documentation
<filename>Makefile</> rules (Peter Eisentraut) <filename>Makefile</> rules to make their dependency checks work
correctly, avoiding unnecessary rebuilds (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Use <productname>DocBook</> <acronym>XSL</> stylesheets for man page Use <productname>DocBook</> <acronym>XSL</> stylesheets for man page
building (Peter Eisentraut) building, rather than <productname>Docbook2X</> (Peter Eisentraut)
</para>
<para>
This changes the set of tools needed to build the man pages.
</para> </para>
</listitem> </listitem>
@ -2823,7 +2921,7 @@
<listitem> <listitem>
<para> <para>
Improve error context support in PL/Perl (Alexey Klyukin) Improve error context reports in PL/Perl (Alexey Klyukin)
</para> </para>
</listitem> </listitem>
@ -2906,6 +3004,12 @@
Restructure use of <literal>LDFLAGS</> to be more consistent Restructure use of <literal>LDFLAGS</> to be more consistent
across platforms (Tom Lane) across platforms (Tom Lane)
</para> </para>
<para>
<literal>LDFLAGS</> is now used for linking both executables and shared
libraries, and we add on <literal>LDFLAGS_EX</> when linking
executables, or <literal>LDFLAGS_SL</> when linking shared libraries.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -2919,8 +3023,8 @@
<listitem> <listitem>
<para> <para>
Simplify use of <productname>C++</> functions in backend code (Kurt Make backend header files safe to include in <productname>C++</>
Harriman, Peter Eisentraut) (Kurt Harriman, Peter Eisentraut)
</para> </para>
<para> <para>
@ -2942,10 +3046,23 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Change calling convention for <function>SearchSysCache()</> and related
functions to avoid hard-wiring the maximum number of cache keys
(Robert Haas)
</para>
<para>
Existing calls will still work for the moment, but can be expected to
break in 9.1 or later if not converted.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Require calls of <function>fastgetattr()</> and Require calls of <function>fastgetattr()</> and
<function>heap_getattr()</> backend macros to use a non-NULL fourth <function>heap_getattr()</> backend macros to provide a non-NULL fourth
argument (Robert Haas) argument (Robert Haas)
</para> </para>
</listitem> </listitem>
@ -2961,8 +3078,8 @@
<listitem> <listitem>
<para> <para>
Add parser hooks to access column and parameter references in Add parser hooks for processing ColumnRef and ParamRef nodes
queries (Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
@ -3085,7 +3202,7 @@
</para> </para>
<para> <para>
This filter dictionary removes accents from letters, which This filtering dictionary removes accents from letters, which
makes full-text searches over multiple languages much easier. makes full-text searches over multiple languages much easier.
</para> </para>
</listitem> </listitem>