提交 0f1ac2d0 编写于 作者: B Bruce Momjian

Reorder 8.4 release note sections.

上级 cb25bf70
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.595 2009/03/26 02:40:37 momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.596 2009/03/26 02:48:53 momjian Exp $ -->
<!--
Typical markup:
......@@ -1075,7 +1075,7 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>Database Operations</title>
<title>Database Manipulation</title>
<itemizedlist>
<listitem>
......@@ -1171,67 +1171,102 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>Vacuum</title>
<title>EXPLAIN</title>
<itemizedlist>
<listitem>
<para>
Allow relation forks to track free space (Heikki)
Have EXPLAIN VERBOSE show the output columns of a query (Tom)
</para>
<para>
This allows the recording of all free space discovered by vacuum in
*.fsm files, rather than having to limit recording to a fixed-sized
shared memory area; max_fsm_pages and max_fsm_relations settings
have been removed.
Previously EXPLAIN VERBOSE output an internal representation of the
output columns.
</para>
</listitem>
<listitem>
<para>
New visibility map file to track pages that do not require vacuum
(Heikki)
Have EXPLAIN honor debug_print_plan (Tom) bjm: verify behavior, this
replaces EXPLAIN VERBOSE?
</para>
</listitem>
<listitem>
<para>
This allows VACUUM to avoid sequentially scanning a table when only a
portion of the table needs vacuuming.
Allow EXPLAIN on CREATE TABLE AS (Peter)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Indexes</title>
<itemizedlist>
<listitem>
<para>
Track explicit transaction snapshots (Alvaro)
Dramatically improve the speed of building and accessing hash indexes
(Tom Raney, Shreya Bhargava, Kenneth Marshall, Tom)
</para>
<para>
This improves space reuse by vacuum in the presence of long-running
transactions.
This allows hash indexes to be often faster than btree indexes.
However, hash indexes are still not crash-safe.
</para>
</listitem>
<listitem>
<para>
Add vacuum_freeze_table_age to postgresql.conf to control when VACUUM should
ignore the visibility map and do a full table scan to set frozen xids
(Heikki)
Have hash indexes store only the hashed value, not the full indexed
columns (Xiao Meng)
</para>
<para>
This greatly reduces the size of hash indexes for long indexed
values, and improves performance.
</para>
</listitem>
<listitem>
<para>
Add ability to specify autovacuum and TOAST parameters in
CREATE TABLE (Alvaro, Euler Taveira de Oliveira)
Remove requirement to use "@@@" when doing GIN weighted lookups on full
text indexes (Tom)
</para>
</listitem>
<listitem>
<para>
Autovacuum options uses to be stored in a system table.
Add optimizer selectivity function for '@@' text search operations (Jan
Urbanski)
</para>
</listitem>
<listitem>
<para>
Add --freeze option to vacuumdb (Bruce)
Add partial match support for GIN indexes (Teodor Sigaev, Oleg Bartunov)
</para>
</listitem>
<listitem>
<para>
Allow prefix matching in full text searches (Teodor Sigaev, Oleg
Bartunov)
</para>
</listitem>
<listitem>
<para>
Support multi-column GIN indexes (Teodor Sigaev)
</para>
</listitem>
<listitem>
<para>
Special xxx_pattern_ops LIKE indexes can now be used for simple equality
comparisons (Tom)
</para>
</listitem>
......@@ -1240,30 +1275,67 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>EXPLAIN</title>
<title>VACUUM</title>
<itemizedlist>
<listitem>
<para>
Have EXPLAIN VERBOSE show the output columns of a query (Tom)
Allow relation forks to track free space (Heikki)
</para>
<para>
Previously EXPLAIN VERBOSE output an internal representation of the
output columns.
This allows the recording of all free space discovered by vacuum in
*.fsm files, rather than having to limit recording to a fixed-sized
shared memory area; max_fsm_pages and max_fsm_relations settings
have been removed.
</para>
</listitem>
<listitem>
<para>
Have EXPLAIN honor debug_print_plan (Tom) bjm: verify behavior, this
replaces EXPLAIN VERBOSE?
New visibility map file to track pages that do not require vacuum
(Heikki)
</para>
<para>
This allows VACUUM to avoid sequentially scanning a table when only a
portion of the table needs vacuuming.
</para>
</listitem>
<listitem>
<para>
Allow EXPLAIN on CREATE TABLE AS (Peter)
Track explicit transaction snapshots (Alvaro)
</para>
<para>
This improves space reuse by vacuum in the presence of long-running
transactions.
</para>
</listitem>
<listitem>
<para>
Add vacuum_freeze_table_age to postgresql.conf to control when VACUUM should
ignore the visibility map and do a full table scan to set frozen xids
(Heikki)
</para>
</listitem>
<listitem>
<para>
Add ability to specify autovacuum and TOAST parameters in
CREATE TABLE (Alvaro, Euler Taveira de Oliveira)
</para>
<para>
Autovacuum options uses to be stored in a system table.
</para>
</listitem>
<listitem>
<para>
Add --freeze option to vacuumdb (Bruce)
</para>
</listitem>
......@@ -1416,164 +1488,133 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>General Functions</title>
<title>Arrays</title>
<itemizedlist>
<listitem>
<para>
Document that setseed() allows values from -1 to 1 (not 0 to 1), and
enforce the valid range (Kris Jurka)
Have cast on ARRAY[] apply to all elements, not just the array result
(Brendan Jurd)
</para>
</listitem>
<listitem>
<para>
Add server side lo_import(filename, oid) function (Tatsuo)
This allows NULL ARRAY[] entries as long as it is properly cast
</para>
</listitem>
<listitem>
<para>
Add quote_nullable(), which behaves like quote_literal() but returns
'NULL' for a null argument (Brendan Jurd)
Make the SQL ARRAY dimensions optional to match the SQL standard
(Peter)
</para>
</listitem>
<listitem>
<para>
Improve full text search headline() generation to allow several
fragments (Sushant Sinha)
Add array_ndims() function to return the number of dimensions of an array (Robert
Haas)
</para>
</listitem>
<listitem>
<para>
Add suppress_redundant_updates_trigger() trigger function to avoid
non-data-changing updates (Andrew)
Add array_length() function to return the length of an array for the
specified dimensions (Jim Nasby, Robert Haas, Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Add div(NUMERIC, NUMERIC) for NUMERIC division, without rounding (Tom)
Also add identically-functioning SQL-standard function cardinality().
</para>
</listitem>
<listitem>
<para>
Add timestamp and timestamptz versions of generate_series() (Hitoshi
Harada)
Add new aggregate function array_agg(), which returns all aggregated
values as a single array (Robert Haas, Jeff Davis, Peter)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Database Informational Functions</title>
<itemizedlist>
<listitem>
<para>
Implement current_query() for use by functions that need to know the
currently running query (Tomas Doran)
Add function unnest(), which converts an array to individual row values
(Tom)
</para>
</listitem>
<listitem>
<para>
Add pg_get_keywords() function to return predefined parser keywords
(Dave Page)
This is the opposite of array_agg().
</para>
</listitem>
<listitem>
<para>
Add function pg_get_functiondef() to see a functions definition (Abhijit
Menon-Sen)
Add array_fill() to create arrays initialized with a value (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Modify pg_relation_size() to handle free space map (*.fsm) files
(Heikki)
Add generate_subscripts() to generate array subscripts (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Modify pg_relation_size() to use 'regclass' (Heikki)
</para>
<para>
pg_relation_size(data_type_name) no longer works.
Generate proper error if a SERIAL array is specified (Tom)
</para>
</listitem>
<listitem>
<para>
Add boot_val and reset_val columns to pg_settings output (Greg Smith)
</para>
</listitem>
</itemizedlist>
<listitem>
<para>
Add support for CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA
(Peter)
</para>
</sect3>
<para>
These are SQL-standard capabilities.
</para>
</listitem>
<sect3>
<title>General Functions</title>
<itemizedlist>
<listitem>
<para>
Add pg_typeof() function to return the data type of any value (Brendan
Jurd)
Document that setseed() allows values from -1 to 1 (not 0 to 1), and
enforce the valid range (Kris Jurka)
</para>
</listitem>
<listitem>
<para>
Have version() return information about whether the server is a 32
or 64-bit binary (Bruce)
Add server side lo_import(filename, oid) function (Tatsuo)
</para>
</listitem>
<listitem>
<para>
Fix the behavior of information schema columns is_insertable_into and
is_updatable to be consistent (Peter)
Add quote_nullable(), which behaves like quote_literal() but returns
'NULL' for a null argument (Brendan Jurd)
</para>
</listitem>
<listitem>
<para>
Convert remaining builtin set-returning functions to use OUT parameters
(Jaime Casanova)
Improve full text search headline() generation to allow several
fragments (Sushant Sinha)
</para>
</listitem>
<listitem>
<para>
This makes it possible to call these functions without specifying
a column list: pg_show_all_settings(), pg_lock_status(),
pg_prepared_xact(), pg_prepared_statement(), pg_cursor()
Add suppress_redundant_updates_trigger() trigger function to avoid
non-data-changing updates (Andrew)
</para>
</listitem>
<listitem>
<para>
Have pg_*_is_visible and has_*_privilege functions return NULL for
invalid oids, rather than generate an error (Tom)
Add div(NUMERIC, NUMERIC) for NUMERIC division, without rounding (Tom)
</para>
</listitem>
<listitem>
<para>
Add has_column_privilege() and has_any_column_privilege() functions
(Stephen Frost, Tom)
Add timestamp and timestamptz versions of generate_series() (Hitoshi
Harada)
</para>
</listitem>
......@@ -1582,121 +1623,109 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>Function Creation</title>
<title>Object Information Functions</title>
<itemizedlist>
<listitem>
<para>
Support variadic functions (functions with a variable number of
arguments) (Pavel Stehule)
Implement current_query() for use by functions that need to know the
currently running query (Tomas Doran)
</para>
</listitem>
<listitem>
<para>
Only trailing arguments can be of variable length, and they all must
be of the same data type.
Add pg_get_keywords() function to return predefined parser keywords
(Dave Page)
</para>
</listitem>
<listitem>
<para>
Allow DEFAULT values for function arguments (Pavel Stehule)
Add function pg_get_functiondef() to see a functions definition (Abhijit
Menon-Sen)
</para>
</listitem>
<listitem>
<para>
Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel Stehule)
Modify pg_relation_size() to handle free space map (*.fsm) files
(Heikki)
</para>
</listitem>
<listitem>
<para>
Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
RETURNING clause (Tom)
Modify pg_relation_size() to use 'regclass' (Heikki)
</para>
<para>
Formerly only SELECT was supported.
pg_relation_size(data_type_name) no longer works.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Arrays</title>
<itemizedlist>
<listitem>
<para>
Have cast on ARRAY[] apply to all elements, not just the array result
(Brendan Jurd)
</para>
<para>
This allows NULL ARRAY[] entries as long as it is properly cast
Add boot_val and reset_val columns to pg_settings output (Greg Smith)
</para>
</listitem>
<listitem>
<para>
Make the SQL ARRAY dimensions optional to match the SQL standard
Add support for CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA
(Peter)
</para>
</listitem>
<listitem>
<para>
Add array_ndims() function to return the number of dimensions of an array (Robert
Haas)
These are SQL-standard capabilities.
</para>
</listitem>
<listitem>
<para>
Add array_length() function to return the length of an array for the
specified dimensions (Jim Nasby, Robert Haas, Peter Eisentraut)
</para>
<para>
Also add identically-functioning SQL-standard function cardinality().
Add pg_typeof() function to return the data type of any value (Brendan
Jurd)
</para>
</listitem>
<listitem>
<para>
Add new aggregate function array_agg(), which returns all aggregated
values as a single array (Robert Haas, Jeff Davis, Peter)
Have version() return information about whether the server is a 32
or 64-bit binary (Bruce)
</para>
</listitem>
<listitem>
<para>
Add function unnest(), which converts an array to individual row values
(Tom)
Fix the behavior of information schema columns is_insertable_into and
is_updatable to be consistent (Peter)
</para>
</listitem>
<listitem>
<para>
This is the opposite of array_agg().
Convert remaining builtin set-returning functions to use OUT parameters
(Jaime Casanova)
</para>
</listitem>
<listitem>
<para>
Add array_fill() to create arrays initialized with a value (Pavel Stehule)
This makes it possible to call these functions without specifying
a column list: pg_show_all_settings(), pg_lock_status(),
pg_prepared_xact(), pg_prepared_statement(), pg_cursor()
</para>
</listitem>
<listitem>
<para>
Add generate_subscripts() to generate array subscripts (Pavel Stehule)
Have pg_*_is_visible and has_*_privilege functions return NULL for
invalid oids, rather than generate an error (Tom)
</para>
</listitem>
<listitem>
<para>
Generate proper error if a SERIAL array is specified (Tom)
Add has_column_privilege() and has_any_column_privilege() functions
(Stephen Frost, Tom)
</para>
</listitem>
......@@ -1705,70 +1734,41 @@ do it for earlier branch release files.
</sect3>
<sect3>
<title>Indexes</title>
<title>Function Creation</title>
<itemizedlist>
<listitem>
<para>
Dramatically improve the speed of building and accessing hash indexes
(Tom Raney, Shreya Bhargava, Kenneth Marshall, Tom)
</para>
<para>
This allows hash indexes to be often faster than btree indexes.
However, hash indexes are still not crash-safe.
</para>
</listitem>
<listitem>
<para>
Have hash indexes store only the hashed value, not the full indexed
columns (Xiao Meng)
</para>
<para>
This greatly reduces the size of hash indexes for long indexed
values, and improves performance.
</para>
</listitem>
<listitem>
<para>
Remove requirement to use "@@@" when doing GIN weighted lookups on full
text indexes (Tom)
Support variadic functions (functions with a variable number of
arguments) (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Add optimizer selectivity function for '@@' text search operations (Jan
Urbanski)
Only trailing arguments can be of variable length, and they all must
be of the same data type.
</para>
</listitem>
<listitem>
<para>
Add partial match support for GIN indexes (Teodor Sigaev, Oleg Bartunov)
Allow DEFAULT values for function arguments (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Allow prefix matching in full text searches (Teodor Sigaev, Oleg
Bartunov)
Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Support multi-column GIN indexes (Teodor Sigaev)
Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
RETURNING clause (Tom)
</para>
</listitem>
<listitem>
<para>
Special xxx_pattern_ops LIKE indexes can now be used for simple equality
comparisons (Tom)
Formerly only SELECT was supported.
</para>
</listitem>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册