Commit f5878cd3 authored by Bruce Momjian's avatar Bruce Momjian

Clarifications for 9.0 release notes

Josh Berkus
parent c107c35d
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.50 2010/08/23 02:43:25 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.51 2010/08/24 14:46:29 momjian Exp $ -->
<sect1 id="release-9-0">
<title>Release 9.0</title>
......@@ -43,47 +43,50 @@
<listitem>
<para>
Easier database object permissions management. <link
linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE IN
SCHEMA</></link> supports mass permissions changes on existing objects,
while <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER DEFAULT
PRIVILEGES</></link> allows control of privileges for objects created in
the future. Large objects (BLOBs) now support privilege management as
well.
linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE
IN SCHEMA</></link> supports mass permissions changes, and
the <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER
DEFAULT PRIVILEGES</></link> command controls privileges
of all newly-created objects. Large object permissions now
support <command>GRANT</>/<command>REVOKE</> as well.
</para>
</listitem>
<listitem>
<para>
Broadly enhanced stored procedure support.
The <link linkend="SQL-DO"><command>DO</></link> statement permits
execution of <quote>anonymous</> code blocks, without having to
define a function first. Functions can now be called using named
parameters. PL/pgSQL is now installed by default, and PL/Perl and
PL/Python have been enhanced in several ways, including support for
Python3.
Add support for compiling on <link
linkend="install-win32-full">64-bit
<productname>Windows</></link> and running in 64-bit
mode.
</para>
</listitem>
<listitem>
<para>
Full support for <link linkend="install-win32">64-bit
<productname>Windows</></link>.
Broadly enhanced stored procedure support.
The <link linkend="SQL-DO"><command>DO</></link> statement permits
ad-hoc or anonymous code blocks. Functions can now be called using named
parameters. <link linkend="plpgsql">PL/pgSQL</link> is now installed by default,
and <link linkend="plperl">PL/Perl</link> and <link linkend="plpython">PL/Python</link>
have been enhanced in several ways, including support for Python3.
</para>
</listitem>
<listitem>
<para>
More advanced reporting queries, including additional windowing options
(<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability to
control the order in which values are fed to aggregate functions.
More advanced reporting queries with additional <link
linkend="functions-window">window functions</link>
(<literal>PRECEDING</> and <literal>FOLLOWING</>) and the ability
to <link linkend="syntax-aggregates"><literal>ORDER BY</></link>
inside aggregate functions.
</para>
</listitem>
<listitem>
<para>
New trigger features, including
SQL-standard-compliant <link
linkend="SQL-CREATETRIGGER">per-column triggers</link> and
Triggers now support two new features,
SQL-compliant <link
linkend="SQL-CREATETRIGGER">per-column triggers</link>, and
conditional trigger execution.
</para>
</listitem>
......@@ -98,71 +101,68 @@
<listitem>
<para>
<link linkend="ddl-constraints-exclusion">Exclusion constraints</link>.
These provide a generalized version of unique constraints, allowing
enforcement of complex conditions.
New and enhanced security features, including <link linkend="client-authentication">RADIUS authentication</link>,
LDAP authentication improvements, and the new <link linkend="passwordcheck">passwordcheck</link> optional module
for testing password strength.
</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.
The <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link
linkend="SQL-NOTIFY"><command>NOTIFY</></link>
feature has been overhauled to make it into
a high-performance event queuing system. It now stores
events in a memory-based queue, and it now allows delivery
of a string payload to listeners with each event.
</para>
</listitem>
<listitem>
<para>
New high-performance implementation of the
<link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link
linkend="SQL-NOTIFY"><command>NOTIFY</></link> feature.
Pending events are now stored in a memory-based queue rather than
a table. Also, a <quote>payload</> string can be sent with each
event, rather than transmitting just an event name as before.
Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link>
to support in-place upgrades from 8.3 or 8.4 to 9.0.
</para>
</listitem>
<listitem>
<para>
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.
Multiple performance enhancements for specific types of queries,
including join elimination, which optimizes automatically generated
queries, such as those produced by object-relational mappers (ORMs).
</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.
<link linkend="ddl-constraints-exclusion">Exclusion constraints</link>
let database designers define uniqueness based on complex
criteria, including for non-scalar data such as time periods,
ranges and arrays.
</para>
</listitem>
<listitem>
<para>
Multiple performance enhancements for specific types of queries,
including elimination of unnecessary joins. This helps optimize some
automatically-generated queries, such as those produced by
object-relational mappers (ORMs).
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="SQL-EXPLAIN "><command>EXPLAIN</></link> enhancements.
The output is now available in JSON, XML, or YAML format, and includes
<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.
</para>
</listitem>
<listitem>
<para>
<link linkend="hstore"><filename>hstore</></link> improvements,
including new functions and greater data capacity.
The <link linkend="hstore">HStore optional module</link> has been improved with new functions and greater
data capacity to make it a high-performance key-value store.
</para>
</listitem>
......@@ -1653,7 +1653,8 @@
<listitem>
<para>
Allow aggregate functions to use <literal>ORDER BY</> (Andrew
Allow aggregate functions to use <link
linkend="syntax-aggregates"><literal>ORDER BY</></> (Andrew
Gierth)
</para>
......
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