|
|
@ -1,4 +1,4 @@ |
|
|
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.6 2010/03/21 00:43:40 momjian Exp $ --> |
|
|
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.7 2010/03/21 02:24:29 momjian Exp $ --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="release-9-0"> |
|
|
|
<sect1 id="release-9-0"> |
|
|
@ -53,9 +53,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Remove server variable <varname>regex_flavor</>, which was defaulted |
|
|
|
Remove server variable <varname>regex_flavor</>, which |
|
|
|
to <literal>advanced</> (e.g. Perl-regex compatible) for many |
|
|
|
was defaulted to <link |
|
|
|
years (Tom) |
|
|
|
linkend="posix-syntax-details"><literal>advanced</></link> |
|
|
|
|
|
|
|
(e.g. Perl-regex compatible) for many years (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -69,8 +70,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
When querying a parent table, do not do additional permission |
|
|
|
When querying a <link linkend="ddl-inherit">parent table</link>, |
|
|
|
checks on child tables returned as part of the query (Peter) |
|
|
|
do not do additional permission checks on child tables |
|
|
|
|
|
|
|
returned as part of the query (Peter) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -80,8 +82,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Have fractional seconds truncate rather than round when using |
|
|
|
Have fractional seconds conversion truncate rather than |
|
|
|
float-based dates/times (Tom) |
|
|
|
round when using float-based dates/times (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -129,8 +131,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Do not allow <function>substring()</> to have a negative third |
|
|
|
Do not allow <link |
|
|
|
length, per the SQL standard (Tom) |
|
|
|
linkend="functions-string-sql"><function>substring()</></link> |
|
|
|
|
|
|
|
to have a negative third length, per the SQL standard (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -283,15 +286,16 @@ |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow per-tablespace sequential and random page cost variables |
|
|
|
Allow per-tablespace sequential and random page cost variables |
|
|
|
(<varname>seq_page_cost</>/(<varname>random_page_cost</>)) via |
|
|
|
(<varname>seq_page_cost</>/(<varname>random_page_cost</>)) via |
|
|
|
<command>ALTER TABLESPACE |
|
|
|
<link linkend="SQL-ALTERTABLESPACE"><command>ALTER TABLESPACE |
|
|
|
... SET/RESET</> (Robert Haas) |
|
|
|
... SET/RESET</></link> (Robert Haas) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Improve performance of <command>TRUNCATE</> when used in the same |
|
|
|
Improve performance of <link |
|
|
|
transaction as table creation (Tom) |
|
|
|
linkend="SQL-TRUNCATE"><command>TRUNCATE</></link> when |
|
|
|
|
|
|
|
used in the same transaction as table creation (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -317,7 +321,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Remove unnecessary outer joins (Robert Haas) |
|
|
|
Remove unnecessary <link linkend="queries-join">outer |
|
|
|
|
|
|
|
joins</link> (Robert Haas) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -336,7 +341,7 @@ |
|
|
|
</sect4> |
|
|
|
</sect4> |
|
|
|
|
|
|
|
|
|
|
|
<sect4> |
|
|
|
<sect4> |
|
|
|
<title>GEQO</title> |
|
|
|
<title><link linkend="geqo">GEQO</link></title> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
@ -374,8 +379,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Improve <command>ANALYZE</> to support inheritance-tree statistics |
|
|
|
Improve <link linkend="SQL-ANALYZE"><command>ANALYZE</></link> |
|
|
|
(Tom) |
|
|
|
to support inheritance-tree statistics (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -385,7 +390,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Improve autovacuum detection of when re-analyze is necessary (Tom) |
|
|
|
Improve <link linkend="routine-vacuuming">autovacuum</link> |
|
|
|
|
|
|
|
detection of when re-analyze is necessary (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -406,7 +412,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow setting of distinct statistics using <command>ALTER TABLE</> |
|
|
|
Allow setting of distinct statistics using <link |
|
|
|
|
|
|
|
linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link> |
|
|
|
(Robert Haas) |
|
|
|
(Robert Haas) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
@ -577,8 +584,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Do <command>SELECT FOR UPDATE</>/<literal>SHARE</> processing |
|
|
|
Do <link linkend="SQL-FOR-UPDATE-SHARE"><command>SELECT |
|
|
|
after applying <literal>LIMIT</>, so the number of rows returned |
|
|
|
FOR UPDATE</>/<literal>SHARE</></link> processing after |
|
|
|
|
|
|
|
applying <literal>LIMIT</>, so the number of rows returned |
|
|
|
is always predictable (Tom) |
|
|
|
is always predictable (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
@ -593,8 +601,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow mixing of traditional and SQL-standard |
|
|
|
Allow mixing of traditional and SQL-standard <link |
|
|
|
<literal>LIMIT</>/<literal>OFFSET</> syntax in the same query (Tom) |
|
|
|
linkend="SQL-LIMIT"><literal>LIMIT</>/<literal>OFFSET</></link> |
|
|
|
|
|
|
|
syntax in the same query (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -659,22 +668,25 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Speed up <command>CREATE DATABASE</> by deferring flushes to disk |
|
|
|
Speed up <link linkend="SQL-CREATEDATABASE"><command>CREATE |
|
|
|
(Andres Freund, Greg Stark) |
|
|
|
DATABASE</></link> by deferring flushes to disk (Andres |
|
|
|
|
|
|
|
Freund, Greg Stark) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow comments only on columns of tables, views, and composite |
|
|
|
Allow <link linkend="SQL-COMMENT">comments</link> only on |
|
|
|
types, not other objects like indexes and <acronym>TOAST</> tables |
|
|
|
columns of tables, views, and composite types, not other |
|
|
|
(Tom) |
|
|
|
objects like indexes and <acronym>TOAST</> tables (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow the creation of enumerate types with no labels (Bruce) |
|
|
|
Allow the creation of <link |
|
|
|
|
|
|
|
linkend="SQL-CREATETYPE-enum">enumerate types</link> with |
|
|
|
|
|
|
|
no labels (Bruce) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -685,7 +697,7 @@ |
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Have columns defined with storage type <literal>MAIN</> remain on |
|
|
|
Have columns defined with storage type <literal>MAIN</> remain on |
|
|
|
main heap page unless it cannot fit (Kevin Grittner) |
|
|
|
the main heap page unless it cannot fit (Kevin Grittner) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -779,7 +791,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add deferrable unique constraints (Dean Rasheed) |
|
|
|
Add <link linkend="SQL-CREATETABLE-compatibility">deferrable |
|
|
|
|
|
|
|
unique constraints</link> (Dean Rasheed) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -797,10 +810,12 @@ |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
This is enabled with the <command>CREATE TABLE CONSTRAINT ... |
|
|
|
This is enabled with the <link |
|
|
|
EXCLUDE</> clause. While uniqueness checks could be specified |
|
|
|
linkend="SQL-CREATETABLE-description"><command>CREATE |
|
|
|
using this syntax, the real value of this features is in using |
|
|
|
TABLE CONSTRAINT ... EXCLUDE</></link> clause. While |
|
|
|
complex operators that do not have built-in constraints. |
|
|
|
uniqueness checks could be specified using this syntax, |
|
|
|
|
|
|
|
the real value of this features is in using complex |
|
|
|
|
|
|
|
operators that do not have built-in constraints. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -828,15 +843,15 @@ |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add the ability to make mass permission changes per |
|
|
|
Add the ability to make mass permission changes per |
|
|
|
schema using the new <link |
|
|
|
schema using the new <link |
|
|
|
linkend="SQL-GRANT"><command>GRANT</></link>/<command>REVOKE |
|
|
|
linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE |
|
|
|
IN SCHEMA</> clause (Petr Jelinek) |
|
|
|
IN SCHEMA</></link> clause (Petr Jelinek) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add the ability to control large object permissions with |
|
|
|
Add the ability to control large object permissions with |
|
|
|
<command>GRANT</>/<command>REVOKE </>(KaiGai Kohei) |
|
|
|
<command>GRANT</>/<command>REVOKE</>(KaiGai Kohei) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -853,8 +868,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Have <command>LISTEN</>/<command>NOTIFY</> store events in a memory |
|
|
|
Have <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link |
|
|
|
queue, rather than a system table (Joachim Wieland) |
|
|
|
linkend="SQL-NOTIFY"><command>NOTIFY</></link> store events |
|
|
|
|
|
|
|
in a memory queue, rather than a system table (Joachim |
|
|
|
|
|
|
|
Wieland) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -871,7 +888,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow <command>CLUSTER</> on all system tables (Tom) |
|
|
|
Allow <link linkend="SQL-CLUSTER"><command>CLUSTER</></link> |
|
|
|
|
|
|
|
on all system tables (Tom) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
@ -923,8 +941,9 @@ |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
<para> |
|
|
|
log_*_stats log output, e.g. <varname>log_statement_stats</>, no |
|
|
|
log_*_stats log output, e.g. <xref |
|
|
|
longer shows this information. |
|
|
|
linkend="runtime-config-statistics-monitor">, no longer shows |
|
|
|
|
|
|
|
this information. |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -1072,7 +1091,7 @@ |
|
|
|
</itemizedlist> |
|
|
|
</itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
<sect4> |
|
|
|
<sect4> |
|
|
|
<title>Full Text Search</title> |
|
|
|
<title><link linkend="textsearch">Full Text Search</link></title> |
|
|
|
<itemizedlist> |
|
|
|
<itemizedlist> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
@ -1162,8 +1181,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Correct calculations of "overlap" and "contains" operations over |
|
|
|
Correct calculations of <link |
|
|
|
polygons (Teodor) |
|
|
|
linkend="functions-geometry-op-table">"overlap"</link> |
|
|
|
|
|
|
|
and "contains" operations over polygons (Teodor) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -1267,7 +1287,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Have information schema properly display date type octet lengths |
|
|
|
Have <link linkend="information-schema">information |
|
|
|
|
|
|
|
schema</link> properly display date type octet lengths |
|
|
|
(Peter) |
|
|
|
(Peter) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
@ -1439,10 +1460,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add new PL/Perl functions: <function>quote_literal()</>, |
|
|
|
Add new PL/Perl functions: <link |
|
|
|
|
|
|
|
linkend="plperl-utility-functions"><function>quote_literal()</></link>, |
|
|
|
<function>quote_nullable()</>, <function>quote_ident()</>, |
|
|
|
<function>quote_nullable()</>, <function>quote_ident()</>, |
|
|
|
<function>encode_bytea()</>, <function>decode_bytea()</>, |
|
|
|
<function>encode_bytea()</>, <function>decode_bytea()</>, |
|
|
|
<function>looks_like_number()</>, <function>encode_array_literal()</>, |
|
|
|
<function>looks_like_number()</>, |
|
|
|
|
|
|
|
<function>encode_array_literal()</>, |
|
|
|
<function>encode_array_constructor()</> (Tim Bunce) |
|
|
|
<function>encode_array_constructor()</> (Tim Bunce) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
@ -1479,6 +1502,11 @@ |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Allow <command>use strict</> in PL/Perl (Tim Bunce) |
|
|
|
Allow <command>use strict</> in PL/Perl (Tim Bunce) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para> |
|
|
|
|
|
|
|
This can be enabled with the server variable <xref |
|
|
|
|
|
|
|
linkend="guc-plperl-use-strict">. |
|
|
|
|
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
@ -1564,7 +1592,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add array parameter/return support to PL/Python (Peter) |
|
|
|
Add <link linkend="plpython-arrays">array parameter/return |
|
|
|
|
|
|
|
support</link> to PL/Python (Peter) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -1640,8 +1669,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Fix <command>psql --file -</> to properly honor |
|
|
|
Fix <command>psql --file -</> to properly honor <link |
|
|
|
<option>--single-transaction</> (Bruce) |
|
|
|
linkend="R1-APP-PSQL-3"><option>--single-transaction</></link> |
|
|
|
|
|
|
|
(Bruce) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -2219,8 +2249,9 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add a new <literal>ERRCODE_INVALID_PASSWORD</> <literal>SQLSTATE</> error |
|
|
|
Add a new <link |
|
|
|
code (Bruce) |
|
|
|
linkend="errcodes-table"><literal>ERRCODE_INVALID_PASSWORD</></link> |
|
|
|
|
|
|
|
<literal>SQLSTATE</> error code (Bruce) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
@ -2409,8 +2440,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
<listitem> |
|
|
|
<listitem> |
|
|
|
<para> |
|
|
|
<para> |
|
|
|
Add <command>\shell</> and <command>\setshell</> meta commands to |
|
|
|
Add <command>\shell</> and <command>\setshell</> meta |
|
|
|
<filename>/contrib/pgbench</> (Michael Paquier) |
|
|
|
commands to <link |
|
|
|
|
|
|
|
linkend="pgbench"><filename>/contrib/pgbench</></link> |
|
|
|
|
|
|
|
(Michael Paquier) |
|
|
|
</para> |
|
|
|
</para> |
|
|
|
</listitem> |
|
|
|
</listitem> |
|
|
|
|
|
|
|
|
|
|
|