Commit a5985a96 authored by Tom Lane's avatar Tom Lane

Explain compatibility item about language names a bit more.

Since we've got an "open items" list item about this, apparently some
people are pretty worried about it.

In passing remove a lot of trailing whitespace.
parent f35ebd2a
...@@ -57,19 +57,19 @@ ...@@ -57,19 +57,19 @@
escapes special characters in string values (Florian Pflug, escapes special characters in string values (Florian Pflug,
Radoslaw Smogura) Radoslaw Smogura)
</para> </para>
<para> <para>
Without this it is possible to output illegal Without this it is possible to output illegal
<acronym>XML</acronym>. <acronym>XML</acronym>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove <link linkend="hstore">hstore</link>'s <literal>=&gt;</> Remove <link linkend="hstore">hstore</link>'s <literal>=&gt;</>
operator (Robert Haas, David Wheeler) operator (Robert Haas, David Wheeler)
</para> </para>
<para> <para>
Users should now use hstore(text, text). Since Users should now use hstore(text, text). Since
<productname>PostgreSQL</productname> 9.0, a warning message is <productname>PostgreSQL</productname> 9.0, a warning message is
...@@ -78,20 +78,20 @@ ...@@ -78,20 +78,20 @@
another use. another use.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <link Have <link
linkend="functions-admin-dbobject"><function>pg_relation_size()</></link> linkend="functions-admin-dbobject"><function>pg_relation_size()</></link>
and friends return NULL if the object does not exist (Phil Sorber) and friends return NULL if the object does not exist (Phil Sorber)
</para> </para>
<para> <para>
This prevents queries that call these functions from returning This prevents queries that call these functions from returning
errors during concurrent drop operations. errors during concurrent drop operations.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove the <link Remove the <link
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
field from <structname>pg_tablespace</> (Magnus Hagander, field from <structname>pg_tablespace</> (Magnus Hagander,
Tom Lane) Tom Lane)
</para> </para>
<para> <para>
This field was duplicative of the symbolic links already This field was duplicative of the symbolic links already
present in the data directory. This allows tablespace present in the data directory. This allows tablespace
...@@ -108,11 +108,11 @@ ...@@ -108,11 +108,11 @@
symbolic links. symbolic links.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
<title>Temporal Functions</title> <title>Temporal Functions</title>
<itemizedlist> <itemizedlist>
...@@ -123,27 +123,27 @@ ...@@ -123,27 +123,27 @@
a non-timezone-aware value measure the epoch from local midnight, a non-timezone-aware value measure the epoch from local midnight,
not <acronym>UTC</acronym> midnight (Tom Lane) not <acronym>UTC</acronym> midnight (Tom Lane)
</para> </para>
<para> <para>
Having these computations depend on <acronym>UTC</acronym> Having these computations depend on <acronym>UTC</acronym>
was inconsistent. The old behavior is available by casting the was inconsistent. The old behavior is available by casting the
value to timestamp with time zone. value to timestamp with time zone.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Properly parse time strings with trailing <literal>yesterday</>, Properly parse time strings with trailing <literal>yesterday</>,
<literal>today</>, and <literal>tomorrow</> (Dean Rasheed) <literal>today</>, and <literal>tomorrow</> (Dean Rasheed)
</para> </para>
<para> <para>
Previously, <command>SELECT '04:00:00 Previously, <command>SELECT '04:00:00
yesterday'::timestamp</command> returned yesterday's date at yesterday'::timestamp</command> returned yesterday's date at
midnight. midnight.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fix <link Fix <link
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
<function>to_timestamp()</> to wrap incomplete dates toward 2020 <function>to_timestamp()</> to wrap incomplete dates toward 2020
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
Previously, supplied years and year masks of less than four digits Previously, supplied years and year masks of less than four digits
wrapped inconsistently. wrapped inconsistently.
...@@ -174,24 +174,27 @@ ...@@ -174,24 +174,27 @@
DOMAIN</command></link> from working on non-domain types (Peter DOMAIN</command></link> from working on non-domain types (Peter
Eisentraut) Eisentraut)
</para> </para>
<para> <para>
Owner and schema changes were previously possible on non-domain Owner and schema changes were previously possible on non-domain
types. types.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
No longer auto-lowercase procedural language names (Robert Haas) No longer auto-lowercase procedural language names (Robert Haas)
</para> </para>
<para> <para>
While unquoted language identifiers are still lowercased, double While unquoted language identifiers are still lowercased, strings
and single-quoted identifiers are no longer down-cased. and quoted identifiers are no longer forcibly down-cased.
Thus for example <literal>CREATE FUNCTION ... LANGUAGE 'C'</>
will no longer work; it must be spelled <literal>'c'</>, or better
omit the quotes.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -208,14 +211,14 @@ ...@@ -208,14 +211,14 @@
linkend="APP-PSQL"><application>psql</></link> meta-command linkend="APP-PSQL"><application>psql</></link> meta-command
arguments (Tom Lane) arguments (Tom Lane)
</para> </para>
<para> <para>
Previously, such usage was only properly expanded when isolated by Previously, such usage was only properly expanded when isolated by
whitespace, e.g. <literal>'FOO'BAR</> was output as <literal>FOO whitespace, e.g. <literal>'FOO'BAR</> was output as <literal>FOO
BAR</>. BAR</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
No longer treat <link No longer treat <link
...@@ -224,7 +227,7 @@ ...@@ -224,7 +227,7 @@
linkend="APP-REINDEXDB"><application>reindexdb</></link> table linkend="APP-REINDEXDB"><application>reindexdb</></link> table
and index names as double-quoted (Bruce Momjian) and index names as double-quoted (Bruce Momjian)
</para> </para>
<para> <para>
Users must supply double-quotes in the command arguments to Users must supply double-quotes in the command arguments to
accomplish double-quoting behavior. accomplish double-quoting behavior.
...@@ -239,32 +242,32 @@ ...@@ -239,32 +242,32 @@
Kupershmidt) Kupershmidt)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
No longer have <link No longer have <link
linkend="APP-CREATEUSER"><application>createuser</></link> prompt linkend="APP-CREATEUSER"><application>createuser</></link> prompt
for settings (Peter Eisentraut, Josh Kupershmidt) for settings (Peter Eisentraut, Josh Kupershmidt)
</para> </para>
<para> <para>
Previously <application>createuser</> prompted regarding various Previously <application>createuser</> prompted regarding various
user settings. user settings.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove <link linkend="APP-INITDB"><application>initdb</></link> Remove <link linkend="APP-INITDB"><application>initdb</></link>
support for the crypt authentication method (Peter Eisentraut) support for the crypt authentication method (Peter Eisentraut)
</para> </para>
<para> <para>
This was removed from the backend years ago. This was removed from the backend years ago.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -277,43 +280,43 @@ ...@@ -277,43 +280,43 @@
Remove the <filename>postgresql.conf</filename> setting Remove the <filename>postgresql.conf</filename> setting
<varname>silent_mode</> (Heikki Linnakangas) <varname>silent_mode</> (Heikki Linnakangas)
</para> </para>
<para> <para>
This behavior could already be accomplished with <command>pg_ctl This behavior could already be accomplished with <command>pg_ctl
-l postmaster.log</>. -l postmaster.log</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove <acronym>GUC</acronym> <varname>wal_sender_delay</>, Remove <acronym>GUC</acronym> <varname>wal_sender_delay</>,
as it is no longer needed (Tom Lane) as it is no longer needed (Tom Lane)
</para> </para>
<para> <para>
The new "latch" capability made this setting unnecessary. The new "latch" capability made this setting unnecessary.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove the <varname>custom_variable_classes</> Remove the <varname>custom_variable_classes</>
<filename>postgresql.conf</filename> parameter (Tom Lane) <filename>postgresql.conf</filename> parameter (Tom Lane)
</para> </para>
<para> <para>
The checking provided by this setting was dubious. Now any The checking provided by this setting was dubious. Now any
setting can be prefixed by any class name. setting can be prefixed by any class name.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add GUC <link linkend="guc-ssl-key-file">parameters</link> for Add GUC <link linkend="guc-ssl-key-file">parameters</link> for
specifying the locations of server-side <acronym>SSL</acronym> specifying the locations of server-side <acronym>SSL</acronym>
files (Peter Eisentraut) files (Peter Eisentraut)
</para> </para>
<para> <para>
This allows changing the location of the files that were previously This allows changing the location of the files that were previously
hard-coded to <filename>server.crt</>, <filename>server.key</>, hard-coded to <filename>server.crt</>, <filename>server.key</>,
...@@ -322,7 +325,7 @@ ...@@ -322,7 +325,7 @@
names, and if specified, these files must exist. names, and if specified, these files must exist.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -338,19 +341,19 @@ ...@@ -338,19 +341,19 @@
to <structname>pid</>, to match other system tables (Magnus Hagander) to <structname>pid</>, to match other system tables (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Create a separate <structname>pg_stat_activity</> column to Create a separate <structname>pg_stat_activity</> column to
report state information, e.g. idle (Scott Mead, Magnus Hagander, report state information, e.g. idle (Scott Mead, Magnus Hagander,
Greg Smith) Greg Smith)
</para> </para>
<para> <para>
The last query values are preserved, allowing for enhanced analysis. The last query values are preserved, allowing for enhanced analysis.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Rename <structname>pg_stat_activity.current_query</> to Rename <structname>pg_stat_activity.current_query</> to
...@@ -358,13 +361,13 @@ ...@@ -358,13 +361,13 @@
completes (Magnus Hagander) completes (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change all <acronym>SQL</acronym>-level statistics timing values Change all <acronym>SQL</acronym>-level statistics timing values
to float8-stored milliseconds (Tom Lane) to float8-stored milliseconds (Tom Lane)
</para> </para>
<para> <para>
The columns affected are: The columns affected are:
<structname>pg_stat_user_functions.total_time</>, <structname>pg_stat_user_functions.total_time</>,
...@@ -373,7 +376,7 @@ ...@@ -373,7 +376,7 @@
<structname>pg_stat_xact_user_functions.self_time</>. <structname>pg_stat_xact_user_functions.self_time</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <application>pg_stat_statements</>' Change <application>pg_stat_statements</>'
...@@ -381,7 +384,7 @@ ...@@ -381,7 +384,7 @@
(Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -409,7 +412,7 @@ ...@@ -409,7 +412,7 @@
Allow queries to retrieve data only from indexes, avoiding heap Allow queries to retrieve data only from indexes, avoiding heap
access (Robert Haas, Ibrar Ahmed, Tom Lane) access (Robert Haas, Ibrar Ahmed, Tom Lane)
</para> </para>
<para> <para>
This is often called "index-only scans" or "covering indexes". This is often called "index-only scans" or "covering indexes".
This is possible for heap pages with exclusively all-visible This is possible for heap pages with exclusively all-visible
...@@ -424,7 +427,7 @@ ...@@ -424,7 +427,7 @@
lightweight lock mechanism (Robert Haas, Jeff Davis) lightweight lock mechanism (Robert Haas, Jeff Davis)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Move the frequently accessed members of the <structname>PGPROC</> Move the frequently accessed members of the <structname>PGPROC</>
...@@ -432,35 +435,35 @@ ...@@ -432,35 +435,35 @@
Deolasee, Heikki Linnakangas, Robert Haas) Deolasee, Heikki Linnakangas, Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce overhead of creating virtual transaction id locks (Robert Reduce overhead of creating virtual transaction id locks (Robert
Haas, Jeff Davis) Haas, Jeff Davis)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce overhead for shared invalidation cache messages (Robert Reduce overhead for shared invalidation cache messages (Robert
Haas, Noah Misch) Haas, Noah Misch)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve performance of transactions using many savepoints (Simon Improve performance of transactions using many savepoints (Simon
Riggs, Robert Haas) PARTIALLY REVERTED. KEEP? Riggs, Robert Haas) PARTIALLY REVERTED. KEEP?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve <command>COPY</command> performance by adding tuples to Improve <command>COPY</command> performance by adding tuples to
the heap in batches (Heikki Linnakangas) the heap in batches (Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve GiST box and point index performance by producing better Improve GiST box and point index performance by producing better
...@@ -468,21 +471,21 @@ ...@@ -468,21 +471,21 @@
Heikki Linnakangas, Kevin Grittner) Heikki Linnakangas, Kevin Grittner)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow hint bits to be set sooner for temporary and unlogged tables Allow hint bits to be set sooner for temporary and unlogged tables
(Robert Haas) (Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce checkpoints and <acronym>WAL</acronym> traffic on low Reduce checkpoints and <acronym>WAL</acronym> traffic on low
activity servers (Simon Riggs) activity servers (Simon Riggs)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow sorting to be performed by inlined and faster, Allow sorting to be performed by inlined and faster,
...@@ -490,34 +493,34 @@ ...@@ -490,34 +493,34 @@
Geoghegan, Robert Haas, Tom Lane) Geoghegan, Robert Haas, Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add the <link linkend="SPGiST">SP-GiST</link> (Space-Partitioned Add the <link linkend="SPGiST">SP-GiST</link> (Space-Partitioned
GiST) index access method (Teodor Sigaev, Oleg Bartunov, Tom Lane, GiST) index access method (Teodor Sigaev, Oleg Bartunov, Tom Lane,
Robert Haas) Robert Haas)
</para> </para>
<para> <para>
SP-GiST is comparable to GiST in flexibility, but supports SP-GiST is comparable to GiST in flexibility, but supports
non-balanced partitioned search structures rather than balanced non-balanced partitioned search structures rather than balanced
trees. CLARIFY? trees. CLARIFY?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve GiST index build times (Alexander Korotkov) Improve GiST index build times (Alexander Korotkov)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Take fewer <acronym>MVCC</acronym> snapshots, for performance Take fewer <acronym>MVCC</acronym> snapshots, for performance
(Robert Haas, Dimitri Fontaine) (Robert Haas, Dimitri Fontaine)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have the number of clog buffer count scale based on <link Have the number of clog buffer count scale based on <link
...@@ -525,28 +528,28 @@ ...@@ -525,28 +528,28 @@
(Robert Haas) (Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce the overhead of serializable isolation level locks (Dan Reduce the overhead of serializable isolation level locks (Dan
Ports, Heikki Linnakangas) Ports, Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve performance of <acronym>WAL</acronym> writes using group Improve performance of <acronym>WAL</acronym> writes using group
commit (Peter Geoghegan, Simon Riggs, Heikki Linnakangas) commit (Peter Geoghegan, Simon Riggs, Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve PowerPC and Itanium spinlock performance (Manabu Ori, Improve PowerPC and Itanium spinlock performance (Manabu Ori,
Tom Lane, Robert Haas) Tom Lane, Robert Haas)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -561,19 +564,19 @@ ...@@ -561,19 +564,19 @@
Create a dedicated worker process to perform checkpoints (Simon Create a dedicated worker process to perform checkpoints (Simon
Riggs, Dickson Guedes) Riggs, Dickson Guedes)
</para> </para>
<para> <para>
Formerly the background writer did dirty page writing and Formerly the background writer did dirty page writing and
checkpointing. checkpointing.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve asynchronous commit behavior by waking up sooner (Simon Improve asynchronous commit behavior by waking up sooner (Simon
Riggs) Riggs)
</para> </para>
<para> <para>
Previously, only <link Previously, only <link
linkend="guc-wal-writer-delay"><varname>wal_writer_delay</></link> linkend="guc-wal-writer-delay"><varname>wal_writer_delay</></link>
...@@ -582,18 +585,18 @@ ...@@ -582,18 +585,18 @@
writes. writes.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow backends to detect postmaster death via a pipe read failure, Allow backends to detect postmaster death via a pipe read failure,
rather than polling (Peter Geoghegan, Heikki Linnakangas) rather than polling (Peter Geoghegan, Heikki Linnakangas)
</para> </para>
<para> <para>
The wait events are internally called "latches". The wait events are internally called "latches".
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow the <link linkend="pg-stat-bgwriter-view">bgwriter</link>, Allow the <link linkend="pg-stat-bgwriter-view">bgwriter</link>,
...@@ -602,24 +605,24 @@ ...@@ -602,24 +605,24 @@
and checkpointer to sleep more efficiently during periods of and checkpointer to sleep more efficiently during periods of
inactivity (Peter Geoghegan, Heikki Linnakangas, Tom Lane) inactivity (Peter Geoghegan, Heikki Linnakangas, Tom Lane)
</para> </para>
<para> <para>
This reduces <acronym>CPU</acronym> wake-ups, which dramatically This reduces <acronym>CPU</acronym> wake-ups, which dramatically
reduces power consumption on idle servers. reduces power consumption on idle servers.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Pass the safe number of file descriptors to Windows processes Pass the safe number of file descriptors to Windows processes
(Heikki Linnakangas) (Heikki Linnakangas)
</para> </para>
<para> <para>
This allows Windows sessions to cache more open file descriptors. This allows Windows sessions to cache more open file descriptors.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -634,7 +637,7 @@ ...@@ -634,7 +637,7 @@
Improve the ability of the planner to choose parameterized plans Improve the ability of the planner to choose parameterized plans
(Tom Lane) (Tom Lane)
</para> </para>
<para> <para>
A prepared statement is now parsed, analyzed, and rewritten, A prepared statement is now parsed, analyzed, and rewritten,
but not necessarily planned. When the prepared plan is executed but not necessarily planned. When the prepared plan is executed
...@@ -643,55 +646,55 @@ ...@@ -643,55 +646,55 @@
of a constant-specific plan. CLARIFY of a constant-specific plan. CLARIFY
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow the optimizer to use <literal>CHECK</> constraints defined Allow the optimizer to use <literal>CHECK</> constraints defined
on tables referenced in subqueries in planning decisions (Tom Lane) on tables referenced in subqueries in planning decisions (Tom Lane)
</para> </para>
<para> <para>
This is only enabled when <link This is only enabled when <link
linkend="guc-constraint-exclusion"><literal>constraint_exclusion linkend="guc-constraint-exclusion"><literal>constraint_exclusion
= on</></link>. = on</></link>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>indexedcol op ANY(ARRAY[...])</> conditions to be Allow <literal>indexedcol op ANY(ARRAY[...])</> conditions to be
used in plain indexscans (Tom Lane) used in plain indexscans (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve heuristics for determining the type of unknown values by Improve heuristics for determining the type of unknown values by
considering other data types involved in the operation (Tom Lane) considering other data types involved in the operation (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow better matching of index columns with non-default operator Allow better matching of index columns with non-default operator
qualifications (Tom Lane) qualifications (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve the planner's ability to use nested loops with inner Improve the planner's ability to use nested loops with inner
index scans (Tom Lane) index scans (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <function>MIN</>/<function>MAX</> index optimizations on Support <function>MIN</>/<function>MAX</> index optimizations on
boolean columns (Marti Raudsepp, Abhijit Menon-Sen) boolean columns (Marti Raudsepp, Abhijit Menon-Sen)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect5> <sect5>
...@@ -704,39 +707,39 @@ ...@@ -704,39 +707,39 @@
subqueries (Tom Lane) subqueries (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve optimizer estimation for subqueries using Improve optimizer estimation for subqueries using
<literal>DISTINCT</> (Tom Lane) <literal>DISTINCT</> (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Collect and use element-frequency statistics for arrays (Alexander Collect and use element-frequency statistics for arrays (Alexander
Korotkov, Noah Misch, Nathan Boley, Tom Lane, Daniele Varrazzo) Korotkov, Noah Misch, Nathan Boley, Tom Lane, Daniele Varrazzo)
</para> </para>
<para> <para>
This patch improves selectivity estimation for the array &lt;@, This patch improves selectivity estimation for the array &lt;@,
&amp;&amp;, and @&gt; (containment and overlaps) array operators. &amp;&amp;, and @&gt; (containment and overlaps) array operators.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve costing of partial indexes (Tom Lane) Improve costing of partial indexes (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow analyze statistics to be collected for foreign tables Allow analyze statistics to be collected for foreign tables
(Etsuro Fujita, Shigeru Hanada, Tom Lane) (Etsuro Fujita, Shigeru Hanada, Tom Lane)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect5> </sect5>
...@@ -754,22 +757,22 @@ ...@@ -754,22 +757,22 @@
linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
include superusers (Andrew Dunstan, Robert Haas) include superusers (Andrew Dunstan, Robert Haas)
</para> </para>
<para> <para>
This makes it easier to use reject lines with group roles. This makes it easier to use reject lines with group roles.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make superuser imply replication privilege (Noah Misch) Make superuser imply replication privilege (Noah Misch)
</para> </para>
<para> <para>
This avoids the need to explicitly assign such privileges. This avoids the need to explicitly assign such privileges.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Adjust <filename>pg_hba.conf</filename> processing to more Adjust <filename>pg_hba.conf</filename> processing to more
...@@ -777,17 +780,17 @@ ...@@ -777,17 +780,17 @@
Herrera, Pavel Stehule) Herrera, Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Disallow empty <filename>pg_hba.conf</filename> files (Tom Lane) Disallow empty <filename>pg_hba.conf</filename> files (Tom Lane)
</para> </para>
<para> <para>
This was done to more quickly report misconfiguration. This was done to more quickly report misconfiguration.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -803,31 +806,31 @@ ...@@ -803,31 +806,31 @@
(Marti Raudsepp, <acronym>PDXPUG</>, Tom Lane) (Marti Raudsepp, <acronym>PDXPUG</>, Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make logging of autovacuum I/O activity more verbose (Greg Smith, Make logging of autovacuum I/O activity more verbose (Greg Smith,
Noah Misch) Noah Misch)
</para> </para>
<para> <para>
This logging is triggered by <link This logging is triggered by <link
linkend="guc-log-autovacuum-min-duration"><varname>log_autovacuum_min_duration</></link>. linkend="guc-log-autovacuum-min-duration"><varname>log_autovacuum_min_duration</></link>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <acronym>WAL</acronym> replay report failures sooner Have <acronym>WAL</acronym> replay report failures sooner
(Fujii Masao) (Fujii Masao)
</para> </para>
<para> <para>
There were some cases where failures were only reported once the There were some cases where failures were only reported once the
server went into master mode. server went into master mode.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link Add <link
...@@ -835,18 +838,18 @@ ...@@ -835,18 +838,18 @@
to simplify xlog comparisons (Euler Taveira de Oliveira, Fujii to simplify xlog comparisons (Euler Taveira de Oliveira, Fujii
Masao, Magnus Hagander) Masao, Magnus Hagander)
</para> </para>
<para> <para>
This is useful for computing replication lag. This is useful for computing replication lag.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support configurable eventlog application names on Windows (MauMau, Support configurable eventlog application names on Windows (MauMau,
Magnus Hagander) Magnus Hagander)
</para> </para>
<para> <para>
This allows different instances to use the eventlog This allows different instances to use the eventlog
with different identifiers, by setting the <link with different identifiers, by setting the <link
...@@ -855,14 +858,14 @@ ...@@ -855,14 +858,14 @@
linkend="guc-syslog-ident"><varname>syslog_ident</></link> works. linkend="guc-syslog-ident"><varname>syslog_ident</></link> works.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change "unexpected EOF" message to <literal>DEBUG1</> level Change "unexpected EOF" message to <literal>DEBUG1</> level
(Magnus Hagander) (Magnus Hagander)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -879,14 +882,14 @@ ...@@ -879,14 +882,14 @@
system view (Tomas Vondra) system view (Tomas Vondra)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a deadlock counter to the <structname>pg_stat_database</> Add a deadlock counter to the <structname>pg_stat_database</>
system view (Magnus Hagander, Jaime Casanova) system view (Magnus Hagander, Jaime Casanova)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <acronym>GUC</acronym> setting <link Add a <acronym>GUC</acronym> setting <link
...@@ -894,7 +897,7 @@ ...@@ -894,7 +897,7 @@
to track I/O timings (Ants Aasma, Greg Smith, Robert Haas) to track I/O timings (Ants Aasma, Greg Smith, Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Report checkpoint timing information in <link Report checkpoint timing information in <link
...@@ -902,7 +905,7 @@ ...@@ -902,7 +905,7 @@
(Greg Smith, Peter Geoghegan, Robert Haas) (Greg Smith, Peter Geoghegan, Robert Haas)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -919,7 +922,7 @@ ...@@ -919,7 +922,7 @@
to be set per-session by superusers, not just per-cluster (Noah to be set per-session by superusers, not just per-cluster (Noah
Misch, Shigeru Hanada) Misch, Shigeru Hanada)
</para> </para>
<para> <para>
This allows <varname>deadlock_timeout</> to be reduced for This allows <varname>deadlock_timeout</> to be reduced for
transactions that are likely to be involved in a deadlock, transactions that are likely to be involved in a deadlock,
...@@ -944,39 +947,39 @@ ...@@ -944,39 +947,39 @@
Sending Servers" (Fujii Masao) Sending Servers" (Fujii Masao)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow a superuser to <command>SET</command> an extension's Allow a superuser to <command>SET</command> an extension's
superuser-only custom variable before loading the associated superuser-only custom variable before loading the associated
extension (Tom Lane) extension (Tom Lane)
</para> </para>
<para> <para>
The system now remembers whether a <command>SET</command> was The system now remembers whether a <command>SET</command> was
performed by a superuser. performed by a superuser.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="app-postmaster">postmaster</link> <option>-C</> Add <link linkend="app-postmaster">postmaster</link> <option>-C</>
option to query configuration parameters (Bruce Momjian) option to query configuration parameters (Bruce Momjian)
</para> </para>
<para> <para>
This allows <application>pg_ctl</> to better handle This allows <application>pg_ctl</> to better handle
configuration-only directory installations. configuration-only directory installations.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Force the locale to be recorded more specifically, rather than Force the locale to be recorded more specifically, rather than
using the empty string to mean the default (Tom Lane) using the empty string to mean the default (Tom Lane)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect5> <sect5>
...@@ -991,32 +994,32 @@ ...@@ -991,32 +994,32 @@
Andy Colson) Andy Colson)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow a reload of <filename>postgresql.conf</filename> to be Allow a reload of <filename>postgresql.conf</filename> to be
processed by all backends even if there are some settings that processed by all backends even if there are some settings that
are invalid for that session (Alexey Klyukin, Andy Colson) are invalid for that session (Alexey Klyukin, Andy Colson)
</para> </para>
<para> <para>
Previously, such not-valid-for-session errors would cause all Previously, such not-valid-for-session errors would cause all
setting changes to be ignored by that backend. setting changes to be ignored by that backend.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add an <literal>include_if_exists</> facility for configuration Add an <literal>include_if_exists</> facility for configuration
files (Greg Smith, Euler Taveira de Oliveira) files (Greg Smith, Euler Taveira de Oliveira)
</para> </para>
<para> <para>
This works the same as <literal>include</>, except that an error This works the same as <literal>include</>, except that an error
is not thrown if the file is missing. is not thrown if the file is missing.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Check the server time zone during initdb, and set Check the server time zone during initdb, and set
...@@ -1025,12 +1028,12 @@ ...@@ -1025,12 +1028,12 @@
<link linkend="guc-log-timezone"><varname>log_timezone</></link> <link linkend="guc-log-timezone"><varname>log_timezone</></link>
accordingly (Tom Lane) accordingly (Tom Lane)
</para> </para>
<para> <para>
This avoids expensive time zone probes during server start. This avoids expensive time zone probes during server start.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow Windows to report Allow Windows to report
...@@ -1039,11 +1042,11 @@ ...@@ -1039,11 +1042,11 @@
(Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect5> </sect5>
</sect4> </sect4>
</sect3> </sect3>
...@@ -1061,14 +1064,14 @@ ...@@ -1061,14 +1064,14 @@
Allow streaming replications slaves to serve other slaves (Fujii Allow streaming replications slaves to serve other slaves (Fujii
Masao, Simon Riggs) Masao, Simon Riggs)
</para> </para>
<para> <para>
Previously, only the master server could supply streaming Previously, only the master server could supply streaming
replication log files to standby servers. Slaves can also now replication log files to standby servers. Slaves can also now
do continuous archiving. (?) do continuous archiving. (?)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <link Add new <link
...@@ -1076,13 +1079,13 @@ ...@@ -1076,13 +1079,13 @@
replication mode <literal>remote_write</> (Fujii Masao and replication mode <literal>remote_write</> (Fujii Masao and
Simon Riggs) Simon Riggs)
</para> </para>
<para> <para>
This only writes data to the socket, but does not wait a write This only writes data to the socket, but does not wait a write
to the remote disk. to the remote disk.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <link Add a <link
...@@ -1091,18 +1094,18 @@ ...@@ -1091,18 +1094,18 @@
than waiting for completed xlog files (Magnus Hagander) than waiting for completed xlog files (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Send keepalive messages to standby servers (Simon Riggs) Send keepalive messages to standby servers (Simon Riggs)
</para> </para>
<para> <para>
This allows administrators to accurately calculate streaming This allows administrators to accurately calculate streaming
replication transfer and application latency. replication transfer and application latency.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect5> <sect5>
...@@ -1115,27 +1118,27 @@ ...@@ -1115,27 +1118,27 @@
Allow streaming of xlog files while <application>pg_basebackup</> Allow streaming of xlog files while <application>pg_basebackup</>
is performing a backup (Magnus Hagander) is performing a backup (Magnus Hagander)
</para> </para>
<para> <para>
This allows passing of xlog files to the standby before they are This allows passing of xlog files to the standby before they are
discarded on the primary. discarded on the primary.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_basebackup</> to pull from standby servers Allow <application>pg_basebackup</> to pull from standby servers
(Jun Ishizuka, Fujii Masao) (Jun Ishizuka, Fujii Masao)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Exclude the postmaster.opts file from <application>pg_basebackup</> Exclude the postmaster.opts file from <application>pg_basebackup</>
backups (Magnus Hagander) backups (Magnus Hagander)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect5> </sect5>
...@@ -1153,55 +1156,55 @@ ...@@ -1153,55 +1156,55 @@
Improve columns labels produced by subqueries (Marti Raudsepp, Improve columns labels produced by subqueries (Marti Raudsepp,
Kyotaro Horiugchi) Kyotaro Horiugchi)
</para> </para>
<para> <para>
Previously, the generic label <literal>?column?</> was used. Previously, the generic label <literal>?column?</> was used.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Preserve column names in row expressions (Andrew Dunstan, Tom Lane) Preserve column names in row expressions (Andrew Dunstan, Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Cancel queries if clients get disconnected (Florian Pflug, Greg Cancel queries if clients get disconnected (Florian Pflug, Greg
Jaskiewicz) Jaskiewicz)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Silently ignore nonexistent schemas specified in <link Silently ignore nonexistent schemas specified in <link
linkend="guc-search-path"><varname>search_path</></link> (Tom Lane) linkend="guc-search-path"><varname>search_path</></link> (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Warn about casts to and from domain types (Robert Haas) Warn about casts to and from domain types (Robert Haas)
</para> </para>
<para> <para>
Such casts have no effect. Such casts have no effect.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
When a row fails a <literal>CHECK</> or <literal>NOT NULL</> When a row fails a <literal>CHECK</> or <literal>NOT NULL</>
constraint, show the row's contents in errdetail (Jan constraint, show the row's contents in errdetail (Jan
Kundr&aacute;t, Royce Ausburn, Tom Lane) Kundr&aacute;t, Royce Ausburn, Tom Lane)
</para> </para>
<para> <para>
This should make it easier to identify which row is problematic This should make it easier to identify which row is problematic
when an insert or update is processing many rows. when an insert or update is processing many rows.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -1217,19 +1220,19 @@ ...@@ -1217,19 +1220,19 @@
<acronym>DDL</acronym> (Robert Haas, Noah Misch) <acronym>DDL</acronym> (Robert Haas, Noah Misch)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>CONCURRENTLY</> option to <link Add <literal>CONCURRENTLY</> option to <link
linkend="SQL-DROPINDEX"><command>DROP INDEX linkend="SQL-DROPINDEX"><command>DROP INDEX
CONCURRENTLY</command></link> (Simon Riggs) CONCURRENTLY</command></link> (Simon Riggs)
</para> </para>
<para> <para>
This allows index removal without blocking other sessions. This allows index removal without blocking other sessions.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -1243,13 +1246,13 @@ ...@@ -1243,13 +1246,13 @@
constraints to be declared <literal>NOT VALID</> (&Aacute;lvaro constraints to be declared <literal>NOT VALID</> (&Aacute;lvaro
Herrera, Thom Brown, Dean Rasheed, Jaime Casanova) Herrera, Thom Brown, Dean Rasheed, Jaime Casanova)
</para> </para>
<para> <para>
A <literal>NOT VALID</> <literal>CHECK</> constraint can be added A <literal>NOT VALID</> <literal>CHECK</> constraint can be added
to a table without the table's data being verified against the to a table without the table's data being verified against the
constraint. New rows are verified. constraint. New rows are verified.
</para> </para>
<para> <para>
Such constraints are ignored by the planner when considering Such constraints are ignored by the planner when considering
<varname>constraint_exclusion</>. <command>ALTER TABLE</command> / <varname>constraint_exclusion</>. <command>ALTER TABLE</command> /
...@@ -1259,38 +1262,38 @@ ...@@ -1259,38 +1262,38 @@
cached plans. cached plans.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>CHECK</> constraints to be declared <literal>NO Allow <literal>CHECK</> constraints to be declared <literal>NO
INHERIT</> (Nikhil Sontakke, Alex Hunsaker) INHERIT</> (Nikhil Sontakke, Alex Hunsaker)
</para> </para>
<para> <para>
This makes them enforceable only on the parent table, not on This makes them enforceable only on the parent table, not on
child tables. child tables.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add the ability to <link linkend="SQL-ALTERTABLE">rename</link> Add the ability to <link linkend="SQL-ALTERTABLE">rename</link>
constraints (Peter Eisentraut) constraints (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Disallow merging of <literal>ONLY</> and non-<literal>ONLY</> Disallow merging of <literal>ONLY</> and non-<literal>ONLY</>
constraints in child tables (Nikhil Sontakke) constraints in child tables (Nikhil Sontakke)
</para> </para>
<para> <para>
Such merging would cause unpredictable behavior in grandchild Such merging would cause unpredictable behavior in grandchild
tables. tables.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1307,19 +1310,19 @@ ...@@ -1307,19 +1310,19 @@
operations (Noah Misch) DUPLICATE? operations (Noah Misch) DUPLICATE?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>IF EXIST</> clause to <command>ALTER</command> Add <literal>IF EXIST</> clause to <command>ALTER</command>
commands (Pavel Stehule) commands (Pavel Stehule)
</para> </para>
<para> <para>
For example, <command>ALTER FOREIGN TABLE IF EXISTS foo RENAME For example, <command>ALTER FOREIGN TABLE IF EXISTS foo RENAME
TO bar</command>. TO bar</command>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="SQL-ALTERFOREIGNDATAWRAPPER"><command>ALTER Add <link linkend="SQL-ALTERFOREIGNDATAWRAPPER"><command>ALTER
...@@ -1328,31 +1331,31 @@ ...@@ -1328,31 +1331,31 @@
SERVER</command></link> / <literal>RENAME</> (Peter Eisentraut) SERVER</command></link> / <literal>RENAME</> (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="SQL-ALTERDOMAIN"><command>ALTER Add <link linkend="SQL-ALTERDOMAIN"><command>ALTER
DOMAIN</command></link> / <literal>RENAME</> (Peter Eisentraut) DOMAIN</command></link> / <literal>RENAME</> (Peter Eisentraut)
</para> </para>
<para> <para>
You could already rename domains using <command>ALTER You could already rename domains using <command>ALTER
TYPE</command>. TYPE</command>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Throw an error for <command>ALTER DOMAIN</command> / <literal>DROP Throw an error for <command>ALTER DOMAIN</command> / <literal>DROP
CONSTRAINT</> on a nonexistent constraint (Peter Eisentraut) CONSTRAINT</> on a nonexistent constraint (Peter Eisentraut)
</para> </para>
<para> <para>
An <literal>IF EXISTS</> option has been added to enable the An <literal>IF EXISTS</> option has been added to enable the
previous behavior. previous behavior.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1369,37 +1372,37 @@ ...@@ -1369,37 +1372,37 @@
(Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <command>CREATE TABLE (LIKE ...)</command> from foreign Support <command>CREATE TABLE (LIKE ...)</command> from foreign
tables and views (Peter Eisentraut) tables and views (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>CREATE TABLE (LIKE ...)</command> from composite Allow <command>CREATE TABLE (LIKE ...)</command> from composite
type (Peter Eisentraut) type (Peter Eisentraut)
</para> </para>
<para> <para>
This also allows a table to be created whose schema matches a view. This also allows a table to be created whose schema matches a view.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Tighten creation of tables in temporary schemas (Robert Haas) Tighten creation of tables in temporary schemas (Robert Haas)
</para> </para>
<para> <para>
Previously, it was possible to create unlogged tables in temporary Previously, it was possible to create unlogged tables in temporary
schemas, and temporary tables in the temporary schemas of other schemas, and temporary tables in the temporary schemas of other
sessions. sessions.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1415,14 +1418,14 @@ ...@@ -1415,14 +1418,14 @@
linkend="SQL-CREATEVIEW"><literal>security_barrier</></link> linkend="SQL-CREATEVIEW"><literal>security_barrier</></link>
option for views (KaiGai Kohei, Noah Misch) option for views (KaiGai Kohei, Noah Misch)
</para> </para>
<para> <para>
This prevents <literal>security_barrier</> views from being moved This prevents <literal>security_barrier</> views from being moved
into other scopes, preventing possible leakage of view-prohibited into other scopes, preventing possible leakage of view-prohibited
data. Such views might perform more poorly. data. Such views might perform more poorly.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a new <link Add a new <link
...@@ -1431,13 +1434,13 @@ ...@@ -1431,13 +1434,13 @@
into <literal>security_barrier</> views (KaiGai Kohei) into <literal>security_barrier</> views (KaiGai Kohei)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for privileges on date types (Peter Eisentraut, Add support for privileges on date types (Peter Eisentraut,
Yeb Havinga) Yeb Havinga)
</para> </para>
<para> <para>
This adds support for the <acronym>SQL</>-conforming This adds support for the <acronym>SQL</>-conforming
<literal>USAGE</> privilege on types and domains. The intent is <literal>USAGE</> privilege on types and domains. The intent is
...@@ -1445,14 +1448,14 @@ ...@@ -1445,14 +1448,14 @@
which restricts the way in which owners can alter types. which restricts the way in which owners can alter types.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Check for <command>INSERT</command> privileges in <command>SELECT Check for <command>INSERT</command> privileges in <command>SELECT
INTO</command> / <command>CREATE TABLE AS</command> (KaiGai Kohei, INTO</command> / <command>CREATE TABLE AS</command> (KaiGai Kohei,
Albe Laurenz) Albe Laurenz)
</para> </para>
<para> <para>
Because the object is being created by <command>SELECT Because the object is being created by <command>SELECT
INTO</command> or <command>CREATE TABLE AS</command>, it will INTO</command> or <command>CREATE TABLE AS</command>, it will
...@@ -1460,7 +1463,7 @@ ...@@ -1460,7 +1463,7 @@
PRIVILEGES</> has removed such permissions, hence the need for PRIVILEGES</> has removed such permissions, hence the need for
a permission check. a permission check.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -1478,13 +1481,13 @@ ...@@ -1478,13 +1481,13 @@
Allow vacuum to more easily skip pages that cannot be locked Allow vacuum to more easily skip pages that cannot be locked
(Simon Riggs, Robert Haas) (Simon Riggs, Robert Haas)
</para> </para>
<para> <para>
This change should greatly reduce the incidence of vacuum getting This change should greatly reduce the incidence of vacuum getting
"stuck". "stuck".
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -1498,26 +1501,26 @@ ...@@ -1498,26 +1501,26 @@
and written (Robert Haas, Fujii Masao, Greg Smith) and written (Robert Haas, Fujii Masao, Greg Smith)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>EXPLAIN ANALYZE</command> report the number of rows Have <command>EXPLAIN ANALYZE</command> report the number of rows
rejected by filter steps (Marko Tiikkaja, Marc Cousin) rejected by filter steps (Marko Tiikkaja, Marc Cousin)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>EXPLAIN</command> to avoid timing overhead when Allow <command>EXPLAIN</command> to avoid timing overhead when
time values are unwanted (Tomas Vondra, Eric Theise) time values are unwanted (Tomas Vondra, Eric Theise)
</para> </para>
<para> <para>
This is accomplished by setting <literal>TIMING</> to This is accomplished by setting <literal>TIMING</> to
<literal>FALSE</>. <literal>FALSE</>.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1534,13 +1537,13 @@ ...@@ -1534,13 +1537,13 @@
Add a <link linkend="datatype-json"><type>JSON</type></link> Add a <link linkend="datatype-json"><type>JSON</type></link>
data type (Robert Haas) AUTHOR? data type (Robert Haas) AUTHOR?
</para> </para>
<para> <para>
This stores <acronym>JSON</acronym> data as text after proper This stores <acronym>JSON</acronym> data as text after proper
validation. validation.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link Add <link
...@@ -1548,38 +1551,38 @@ ...@@ -1548,38 +1551,38 @@
and <function>row_to_json()</> (Andrew Dunstan, Abhijit Menon-Sen) and <function>row_to_json()</> (Andrew Dunstan, Abhijit Menon-Sen)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for <link linkend="rangetypes">range data types</link> Add support for <link linkend="rangetypes">range data types</link>
(Jeff Davis, Tom Lane, Alexander Korotkov) (Jeff Davis, Tom Lane, Alexander Korotkov)
</para> </para>
<para> <para>
The range data type records a lower and upper bound, and supports The range data type records a lower and upper bound, and supports
operations like contains, overlaps, and intersection. operations like contains, overlaps, and intersection.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="datatype-serial"><type>SMALLSERIAL</></link> Add <link linkend="datatype-serial"><type>SMALLSERIAL</></link>
data type (Mike Pultz, Brar Piening, Josh Kupershmidt) data type (Mike Pultz, Brar Piening, Josh Kupershmidt)
</para> </para>
<para> <para>
This is like <type>SERIAL</>, except it stores the sequence in This is like <type>SERIAL</>, except it stores the sequence in
a two-byte integer column (int2). a two-byte integer column (int2).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <link linkend="SQL-CREATEDOMAIN">domains</link> to be Allow <link linkend="SQL-CREATEDOMAIN">domains</link> to be
declared <literal>NOT VALID</> (&Aacute;lvaro Herrera, Thom Brown, declared <literal>NOT VALID</> (&Aacute;lvaro Herrera, Thom Brown,
Dean Rasheed, Jaime Casanova, Peter Eisentraut) Dean Rasheed, Jaime Casanova, Peter Eisentraut)
</para> </para>
<para> <para>
This can be set at domain creation time, or via This can be set at domain creation time, or via
<command>ALTER DOMAIN</command> / <literal>ADD CONSTRAINT / NOT <command>ALTER DOMAIN</command> / <literal>ADD CONSTRAINT / NOT
...@@ -1587,19 +1590,19 @@ ...@@ -1587,19 +1590,19 @@
CONSTRAINT</> fully validates the domain. CONSTRAINT</> fully validates the domain.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support more locale-specific formatting options for the <link Support more locale-specific formatting options for the <link
linkend="datatype-money">MONEY</link> data type (Tom Lane) linkend="datatype-money">MONEY</link> data type (Tom Lane)
</para> </para>
<para> <para>
Specifically, display the plus/minus sign, currency symbol, Specifically, display the plus/minus sign, currency symbol,
and separators in a locale-specific order. CORRECT? and separators in a locale-specific order. CORRECT?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add bitwise "and", "or", and "not" <link Add bitwise "and", "or", and "not" <link
...@@ -1607,7 +1610,7 @@ ...@@ -1607,7 +1610,7 @@
data type (Brendan Jurd, Fujii Masao) data type (Brendan Jurd, Fujii Masao)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -1621,13 +1624,13 @@ ...@@ -1621,13 +1624,13 @@
<acronym>XML</acronym> array when supplied a scalar value (Florian <acronym>XML</acronym> array when supplied a scalar value (Florian
Pflug, Radoslaw Smogura) Pflug, Radoslaw Smogura)
</para> </para>
<para> <para>
Previously, it returned an empty array. This change will also Previously, it returned an empty array. This change will also
cause <function>xpath_exists()</> to return true, not false, cause <function>xpath_exists()</> to return true, not false,
for such expressions. for such expressions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
...@@ -1653,12 +1656,12 @@ ...@@ -1653,12 +1656,12 @@
linkend="functions-admin-signal"><function>pg_cancel_backend()</></link> linkend="functions-admin-signal"><function>pg_cancel_backend()</></link>
(Magnus Hagander) (Magnus Hagander)
</para> </para>
<para> <para>
Previously only the superuser could cancel queries. Previously only the superuser could cancel queries.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <link Allow <link
...@@ -1666,23 +1669,23 @@ ...@@ -1666,23 +1669,23 @@
to process bytea values (Pavel Stehule, Peter Eisentraut) to process bytea values (Pavel Stehule, Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow regular expressions to use back-references (Tom Lane) Allow regular expressions to use back-references (Tom Lane)
</para> </para>
<para> <para>
For example, '^(\w+)( \1)+$'. For example, '^(\w+)( \1)+$'.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow importing and exporting of transaction snapshots (Joachim Allow importing and exporting of transaction snapshots (Joachim
Wieland, Marko Tiikkaja, Tom Lane) Wieland, Marko Tiikkaja, Tom Lane)
</para> </para>
<para> <para>
Snapshots are exported via <link Snapshots are exported via <link
linkend="functions-snapshot-synchronization"><function>pg_export_snapshot()</></link>, linkend="functions-snapshot-synchronization"><function>pg_export_snapshot()</></link>,
...@@ -1690,19 +1693,19 @@ ...@@ -1690,19 +1693,19 @@
Only snapshots of currently-running transactions can be imported. Only snapshots of currently-running transactions can be imported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <link Support <link
linkend="functions-info-catalog-table"><literal>COLLATION linkend="functions-info-catalog-table"><literal>COLLATION
FOR</></link> on expressions (Peter Eisentraut, Jaime Casanova) FOR</></link> on expressions (Peter Eisentraut, Jaime Casanova)
</para> </para>
<para> <para>
This returns a string representing the collation of the expression. This returns a string representing the collation of the expression.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <type>NUMERIC</> variant of <link Add a <type>NUMERIC</> variant of <link
...@@ -1710,7 +1713,7 @@ ...@@ -1710,7 +1713,7 @@
for use with <function>pg_xlog_location_diff()</> (Fujii Masao) for use with <function>pg_xlog_location_diff()</> (Fujii Masao)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -1723,24 +1726,24 @@ ...@@ -1723,24 +1726,24 @@
Change default names of triggers to fire "action" triggers before Change default names of triggers to fire "action" triggers before
"check" triggers (Tom Lane) "check" triggers (Tom Lane)
</para> </para>
<para> <para>
This allows default-named check triggers to check post-action rows. This allows default-named check triggers to check post-action rows.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <link Add a <link
linkend="functions-info-session-table"><function>pg_trigger_depth()</></link> linkend="functions-info-session-table"><function>pg_trigger_depth()</></link>
function (Kevin Grittner) function (Kevin Grittner)
</para> </para>
<para> <para>
This reports the current trigger call depth. This reports the current trigger call depth.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1762,21 +1765,21 @@ ...@@ -1762,21 +1765,21 @@
Allow per-column foreign data wrapper options and Allow per-column foreign data wrapper options and
<literal>force_not_null</> (Shigeru Hanada, KaiGai Kohei) <literal>force_not_null</> (Shigeru Hanada, KaiGai Kohei)
</para> </para>
<para> <para>
This allows <acronym>SQL</acronym> specification of per-column This allows <acronym>SQL</acronym> specification of per-column
information useful to foreign data sources. Includes information useful to foreign data sources. Includes
<application>psql</> option display support. <application>psql</> option display support.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve pretty printing of view definitions (Andrew Dunstan, Improve pretty printing of view definitions (Andrew Dunstan,
Hitoshi Harada) Hitoshi Harada)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1801,52 +1804,52 @@ ...@@ -1801,52 +1804,52 @@
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Implement information schema <varname>interval_type</> columns Implement information schema <varname>interval_type</> columns
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add collation columns to various information schema views (Peter Add collation columns to various information schema views (Peter
Eisentraut) Eisentraut)
</para> </para>
<para> <para>
Specifically, provide collation columns for views referencing Specifically, provide collation columns for views referencing
attributes, columns, domains, and <varname>element_types</>. attributes, columns, domains, and <varname>element_types</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add display of sequence <literal>USAGE</> privileges to information Add display of sequence <literal>USAGE</> privileges to information
schema (Peter Eisentraut) schema (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <varname>with_hierarchy</> column to the information schema Add a <varname>with_hierarchy</> column to the information schema
privileges display (Peter Eisentraut) privileges display (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have the information schema show default privileges (Peter Have the information schema show default privileges (Peter
Eisentraut, Abhijit Menon-Sen) Eisentraut, Abhijit Menon-Sen)
</para> </para>
<para> <para>
Previously, default permissions generated <literal>NULL</> fields. Previously, default permissions generated <literal>NULL</> fields.
(WAS IT NULL?) (WAS IT NULL?)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1867,7 +1870,7 @@ ...@@ -1867,7 +1870,7 @@
parameters by name (Yeb Havinga, Kevin Grittner, Tom Lane) parameters by name (Yeb Havinga, Kevin Grittner, Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <command>GET STACKED DIAGNOSTICS</command> PL/pgSQL command Add a <command>GET STACKED DIAGNOSTICS</command> PL/pgSQL command
...@@ -1875,28 +1878,28 @@ ...@@ -1875,28 +1878,28 @@
David Wheeler) David Wheeler)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Speed up PL/pgSQL array assignment by caching type information Speed up PL/pgSQL array assignment by caching type information
(Pavel Stehule) (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve performance and memory consumption of the PL/pgSQL Improve performance and memory consumption of the PL/pgSQL
<literal>ELSIF</> clauses (Tom Lane) <literal>ELSIF</> clauses (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Output the function signature, not just the name, in PL/pgSQL Output the function signature, not just the name, in PL/pgSQL
error messages (Pavel Stehule, Abhijit Menon-Sen, Tom Lane) error messages (Pavel Stehule, Abhijit Menon-Sen, Tom Lane)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1912,7 +1915,7 @@ ...@@ -1912,7 +1915,7 @@
(Andrew Dunstan) DETAILS? (Andrew Dunstan) DETAILS?
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1927,7 +1930,7 @@ ...@@ -1927,7 +1930,7 @@
Add PL/Python <acronym>SPI</acronym> cursor support (Jan Add PL/Python <acronym>SPI</acronym> cursor support (Jan
Urbanski, Steve Singer) Urbanski, Steve Singer)
</para> </para>
<para> <para>
This allows PL/Python to read partial result sets. This allows PL/Python to read partial result sets.
</para> </para>
...@@ -1938,13 +1941,13 @@ ...@@ -1938,13 +1941,13 @@
Add result metadata functions to PL/Python (Peter Eisentraut, Add result metadata functions to PL/Python (Peter Eisentraut,
Abhijit Menon-Sen) Abhijit Menon-Sen)
</para> </para>
<para> <para>
Specifically, this adds result object functions .colnames, Specifically, this adds result object functions .colnames,
.coltypes, and .coltypmods. .coltypes, and .coltypmods.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -1958,14 +1961,14 @@ ...@@ -1958,14 +1961,14 @@
Allow <acronym>SQL</acronym>-language functions to reference Allow <acronym>SQL</acronym>-language functions to reference
parameters by name (Matthew Draper, Hitoshi Harada) parameters by name (Matthew Draper, Hitoshi Harada)
</para> </para>
<para> <para>
To use this, simply name the function arguments and reference To use this, simply name the function arguments and reference
the argument names in the <acronym>SQL</acronym> function body. the argument names in the <acronym>SQL</acronym> function body.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
...@@ -1981,14 +1984,14 @@ ...@@ -1981,14 +1984,14 @@
options <option>--auth-local</> and <option>--auth-host</> options <option>--auth-local</> and <option>--auth-host</>
(Peter Eisentraut, Pavel Stehule) (Peter Eisentraut, Pavel Stehule)
</para> </para>
<para> <para>
This allows individual control of <literal>local</> and This allows individual control of <literal>local</> and
<literal>host</> <filename>pg_hba.conf</filename> authentication <literal>host</> <filename>pg_hba.conf</filename> authentication
settings. <option>--auth</> still controls both. settings. <option>--auth</> still controls both.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <option>--replication</>/<option>--no-replication</> flags to Add <option>--replication</>/<option>--no-replication</> flags to
...@@ -1997,7 +2000,7 @@ ...@@ -1997,7 +2000,7 @@
Villemain) Villemain)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add the <option>--if-exists</> option to <link Add the <option>--if-exists</> option to <link
...@@ -2006,7 +2009,7 @@ ...@@ -2006,7 +2009,7 @@
Kupershmidt) Kupershmidt)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Give command-line tools the ability to specify the name of the Give command-line tools the ability to specify the name of the
...@@ -2014,7 +2017,7 @@ ...@@ -2014,7 +2017,7 @@
if a <literal>postgres</> database connection fails (Robert Haas) if a <literal>postgres</> database connection fails (Robert Haas)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -2027,111 +2030,111 @@ ...@@ -2027,111 +2030,111 @@
Add <application>psql</> mode to auto-expand output based on the Add <application>psql</> mode to auto-expand output based on the
display width (Peter Eisentraut, Noah Misch) display width (Peter Eisentraut, Noah Misch)
</para> </para>
<para> <para>
This adds the <literal>auto</> option to the <command>\x</> This adds the <literal>auto</> option to the <command>\x</>
command, which switches to the expanded mode when the normal command, which switches to the expanded mode when the normal
output would be wider than the screen. output would be wider than the screen.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow inclusion of <application>psql</> files relative to the Allow inclusion of <application>psql</> files relative to the
directory of the input file from which it was invoked (Gurjeet directory of the input file from which it was invoked (Gurjeet
Singh, Josh Kupershmidt) Singh, Josh Kupershmidt)
</para> </para>
<para> <para>
The <application>psql</> command is <command>\ir</>. The <application>psql</> command is <command>\ir</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for non-<acronym>ASCII</acronym> characters in Add support for non-<acronym>ASCII</acronym> characters in
<application>psql</> variable names (Tom Lane) <application>psql</> variable names (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for major-version-specific <filename>.psqlrc</> files Add support for major-version-specific <filename>.psqlrc</> files
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
<application>psql</> already supported minor-version-specific <application>psql</> already supported minor-version-specific
<filename>.psqlrc</> <filename>.psqlrc</>
files. files.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Provide environment variable overrides for <application>psql</> Provide environment variable overrides for <application>psql</>
history and startup file locations (Andrew Dunstan) history and startup file locations (Andrew Dunstan)
</para> </para>
<para> <para>
Specifically, <envar>PSQL_HISTORY</envar> and Specifically, <envar>PSQL_HISTORY</envar> and
<envar>PSQLRC</envar>. <envar>PSQLRC</envar>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <application>psql</> <command>\setenv</> command to modify Add a <application>psql</> <command>\setenv</> command to modify
the environment variables used by child processes (Andrew Dunstan, the environment variables used by child processes (Andrew Dunstan,
Josh Kupershmidt) Josh Kupershmidt)
</para> </para>
<para> <para>
This is useful in <filename>.psqlrc</> files. This is useful in <filename>.psqlrc</> files.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <application>psql</> temporary editor files use a Have <application>psql</> temporary editor files use a
<filename>.sql</> extension (Peter Eisentraut) <filename>.sql</> extension (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allows <application>psql</> to use zero-byte field and record Allows <application>psql</> to use zero-byte field and record
separators (Peter Eisentraut, Abhijit Menon-Sen) separators (Peter Eisentraut, Abhijit Menon-Sen)
</para> </para>
<para> <para>
Various shell tools use zero/null-byte separators, e.g. find. Various shell tools use zero/null-byte separators, e.g. find.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <application>psql</> <command>\timing</> report times for Have <application>psql</> <command>\timing</> report times for
failed queries (Magnus Hagander) failed queries (Magnus Hagander)
</para> </para>
<para> <para>
Previously only successful query times were reported. Previously only successful query times were reported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <application>psql</> <command>\copy</> use libpq's Have <application>psql</> <command>\copy</> use libpq's
<function>SendQuery()</> (Noah Misch) <function>SendQuery()</> (Noah Misch)
</para> </para>
<para> <para>
This makes <command>\copy</> failure behavior more predictable, This makes <command>\copy</> failure behavior more predictable,
and honors <envar>ON_ERROR_ROLLBACK</>. and honors <envar>ON_ERROR_ROLLBACK</>.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2146,14 +2149,14 @@ ...@@ -2146,14 +2149,14 @@
table/column name owning it (Magnus Hagander) table/column name owning it (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Show statistics target for columns in <application>psql</> Show statistics target for columns in <application>psql</>
<command>\d+</> (Magnus Hagander) <command>\d+</> (Magnus Hagander)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Show role password expiration dates in <application>psql</> Show role password expiration dates in <application>psql</>
...@@ -2173,24 +2176,24 @@ ...@@ -2173,24 +2176,24 @@
Allow <application>psql</> to display comments for languages and Allow <application>psql</> to display comments for languages and
casts (Josh Kupershmidt) casts (Josh Kupershmidt)
</para> </para>
<para> <para>
These are output via <command>\dL</> and <command>\dC</>. These are output via <command>\dL</> and <command>\dC</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>psql</> to display comments for conversions Allow <application>psql</> to display comments for conversions
and domains (Josh Kupershmidt) and domains (Josh Kupershmidt)
</para> </para>
<para> <para>
This is accomplished with the addition of <literal>+</> to This is accomplished with the addition of <literal>+</> to
<command>\dc</> and <command>\dD</> commands. <command>\dc</> and <command>\dD</> commands.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>psql</> to display the comments on Allow <application>psql</> to display the comments on
...@@ -2198,14 +2201,14 @@ ...@@ -2198,14 +2201,14 @@
mode (Josh Kupershmidt) mode (Josh Kupershmidt)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <application>psql</>'s <command>\dd</> command to display Change <application>psql</>'s <command>\dd</> command to display
only objects without their own backslash command (Josh Kupershmidt) only objects without their own backslash command (Josh Kupershmidt)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect5> </sect5>
...@@ -2225,14 +2228,14 @@ ...@@ -2225,14 +2228,14 @@
the partially-supplied word (Peter Eisentraut, Fujii Masao) the partially-supplied word (Peter Eisentraut, Fujii Masao)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <application>psql</> tab completion support for Add <application>psql</> tab completion support for
<command>EXECUTE</command> (Andreas Karlsson, Josh Kupershmidt) <command>EXECUTE</command> (Andreas Karlsson, Josh Kupershmidt)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow tab completion of role references in Allow tab completion of role references in
...@@ -2240,21 +2243,21 @@ ...@@ -2240,21 +2243,21 @@
Eisentraut, Pavel Stehule) Eisentraut, Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow tab completion of file names to supply quotes, when necessary Allow tab completion of file names to supply quotes, when necessary
(Noah Misch) (Noah Misch)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <application>psql</> tab completion support for Change <application>psql</> tab completion support for
<command>TABLE</command> to also display views (Magnus Hagander) <command>TABLE</command> to also display views (Magnus Hagander)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2269,19 +2272,19 @@ ...@@ -2269,19 +2272,19 @@
Add an <option>--exclude-table-data</> option to Add an <option>--exclude-table-data</> option to
<application>pg_dump</> (Andrew Dunstan) <application>pg_dump</> (Andrew Dunstan)
</para> </para>
<para> <para>
This allows dumping of a table's definition but not its data, This allows dumping of a table's definition but not its data,
on a per-table basis. on a per-table basis.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <option>--section</> option to <application>pg_dump</> Add a <option>--section</> option to <application>pg_dump</>
and <application>pg_restore</> (Andrew Dunstan, Joachim Wieland) and <application>pg_restore</> (Andrew Dunstan, Joachim Wieland)
</para> </para>
<para> <para>
Valid values are <literal>pre-data</>, <literal>data</>, Valid values are <literal>pre-data</>, <literal>data</>,
and <literal>post-data</>. The option can be and <literal>post-data</>. The option can be
...@@ -2291,20 +2294,20 @@ ...@@ -2291,20 +2294,20 @@
<literal>--section=data</>. <literal>--section=data</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <link Have <link
linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link> dump all linkend="APP-PG-DUMPALL"><application>pg_dumpall</></link> dump all
roles first, then all configuration settings on roles (Phil Sorber) roles first, then all configuration settings on roles (Phil Sorber)
</para> </para>
<para> <para>
This allows a role's configuration settings to rely on other This allows a role's configuration settings to rely on other
roles without generating an error. roles without generating an error.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_dumpall</> to avoid errors if the Allow <application>pg_dumpall</> to avoid errors if the
...@@ -2312,24 +2315,24 @@ ...@@ -2312,24 +2315,24 @@
(Robert Haas) (Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Dump foreign server user mappings in user name order (Peter Dump foreign server user mappings in user name order (Peter
Eisentraut) Eisentraut)
</para> </para>
<para> <para>
This helps produce deterministic dump files. This helps produce deterministic dump files.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Dump operators in a predictable order (Peter Eisentraut) Dump operators in a predictable order (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Tighten rules for when extension configuration tables are dumped Tighten rules for when extension configuration tables are dumped
...@@ -2353,37 +2356,37 @@ ...@@ -2353,37 +2356,37 @@
Add <acronym>URI</acronym>s support to libpq connection functions Add <acronym>URI</acronym>s support to libpq connection functions
(Alexander Shulgin) (Alexander Shulgin)
</para> </para>
<para> <para>
The syntax begins with <literal>postgres://</>. The syntax begins with <literal>postgres://</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a libpq <link linkend="libpq-connect-sslcompression">connection Add a libpq <link linkend="libpq-connect-sslcompression">connection
option</link> to disable <acronym>SSL</acronym> compression option</link> to disable <acronym>SSL</acronym> compression
(Laurenz Albe) (Laurenz Albe)
</para> </para>
<para> <para>
This can be used to remove the overhead of <acronym>SSL</acronym> This can be used to remove the overhead of <acronym>SSL</acronym>
compression on fast networks. compression on fast networks.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a row processor <acronym>API</acronym> to libpq for better Add a row processor <acronym>API</acronym> to libpq for better
handling of large result sets (Kyotaro Horiguchi, Marko Kreen) handling of large result sets (Kyotaro Horiguchi, Marko Kreen)
</para> </para>
<para> <para>
Previously, libpq collected the entire query result into memory Previously, libpq collected the entire query result into memory
before passing it back to the application. before passing it back to the application.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enhance <literal>const</> qualifiers in the libpq functions Enhance <literal>const</> qualifiers in the libpq functions
...@@ -2391,33 +2394,33 @@ ...@@ -2391,33 +2394,33 @@
Elie Mamane, Craig Ringer) Elie Mamane, Craig Ringer)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow libpq's <filename>.pgpass</> file to process escaped characters Allow libpq's <filename>.pgpass</> file to process escaped characters
in the password field (Robert Haas, Ross Reedstrom) in the password field (Robert Haas, Ross Reedstrom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have library functions use <function>abort()</> instead of Have library functions use <function>abort()</> instead of
<function>exit()</> to terminate the executable (Peter Eisentraut) <function>exit()</> to terminate the executable (Peter Eisentraut)
</para> </para>
<para> <para>
This does not interfere with the normal exit codes used by the This does not interfere with the normal exit codes used by the
program, and generates a signal that can be caught by the caller. program, and generates a signal that can be caught by the caller.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fix a libpq memory leak by freeing client encoding connection Fix a libpq memory leak by freeing client encoding connection
parameters (Peter Eisentraut) parameters (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -2433,123 +2436,123 @@ ...@@ -2433,123 +2436,123 @@
Visual Studio 2010</link> (Brar Piening, Craig Ringer) Visual Studio 2010</link> (Brar Piening, Craig Ringer)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enable compiling with the MinGW-w64 32-bit compiler (Lars Kanis, Enable compiling with the MinGW-w64 32-bit compiler (Lars Kanis,
Nishiyama Tomoaki) Nishiyama Tomoaki)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Install <filename>plpgsql.h</> into <filename>include/server</> during installation Install <filename>plpgsql.h</> into <filename>include/server</> during installation
(Heikki Linnakangas) (Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Use C flexible array members, where supported (Peter Eisentraut) Use C flexible array members, where supported (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve the concurrent transaction regression tests Improve the concurrent transaction regression tests
(isolationtester) (Noah Misch, Alexander Shulgin) (isolationtester) (Noah Misch, Alexander Shulgin)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modify <application>thread_test</> to create its test files in Modify <application>thread_test</> to create its test files in
the current directory, rather than /tmp (Bruce Momjian) the current directory, rather than /tmp (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve flex and bison warning and error reporting (Tom Lane, Improve flex and bison warning and error reporting (Tom Lane,
Noah Misch) Noah Misch)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add memory barrier support (Robert Haas) Add memory barrier support (Robert Haas)
</para> </para>
<para> <para>
This is currently unused. This is currently unused.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modify pgindent to use a typedef file (Bruce Momjian) Modify pgindent to use a typedef file (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a hook for processing messages due to be sent to the server Add a hook for processing messages due to be sent to the server
log (Martin Pihlak, Marti Raudsepp) log (Martin Pihlak, Marti Raudsepp)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add object access hooks for <command>DROP</command> commands Add object access hooks for <command>DROP</command> commands
(KaiGai Kohei) (KaiGai Kohei)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Centralize <command>DROP</command> handling for some object types Centralize <command>DROP</command> handling for some object types
(KaiGai Kohei) (KaiGai Kohei)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <application>pg_upgrade</> test suite (Peter Eisentraut) Add a <application>pg_upgrade</> test suite (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Sync regular expression code with <acronym>TCL</acronym> 8.5.11 Sync regular expression code with <acronym>TCL</acronym> 8.5.11
and improve internal processing (Tom Lane) and improve internal processing (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Move <acronym>CRC</acronym> tables to libpgport, and provide them Move <acronym>CRC</acronym> tables to libpgport, and provide them
in a separate include file (Daniel Farina, Abhijit Menon-Sen) in a separate include file (Daniel Farina, Abhijit Menon-Sen)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add options to <application>git_changelog</> for use in major Add options to <application>git_changelog</> for use in major
release note creation (Bruce Momjian) release note creation (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove dead ports (Peter Eisentraut) Remove dead ports (Peter Eisentraut)
</para> </para>
<para> <para>
The removed ports are: dgux, nextstep, sunos4, svr4, ultrix4, The removed ports are: dgux, nextstep, sunos4, svr4, ultrix4,
univel, bsdi. univel, bsdi.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
...@@ -2565,13 +2568,13 @@ ...@@ -2565,13 +2568,13 @@
using libpq's new row processor <acronym>API</acronym> (Kyotaro using libpq's new row processor <acronym>API</acronym> (Kyotaro
Horiguchi, Marko Kreen) Horiguchi, Marko Kreen)
</para> </para>
<para> <para>
This cannot be used by This cannot be used by
<function>dblink_send_query()</>/<function>dblink_get_result()</>. <function>dblink_send_query()</>/<function>dblink_get_result()</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <link linkend="tcn">tcn</link> (triggered change notification) Add <link linkend="tcn">tcn</link> (triggered change notification)
...@@ -2579,19 +2582,19 @@ ...@@ -2579,19 +2582,19 @@
(Kevin Grittner) (Kevin Grittner)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Implement dry-run mode for <link Implement dry-run mode for <link
linkend="pgarchivecleanup"><application>pg_archivecleanup</></link> linkend="pgarchivecleanup"><application>pg_archivecleanup</></link>
(Gabriele Bartolini, Josh Kupershmidt) (Gabriele Bartolini, Josh Kupershmidt)
</para> </para>
<para> <para>
This only outputs the names of files to be deleted. This only outputs the names of files to be deleted.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <link linkend="pgbench">pgbench</link> switches Add new <link linkend="pgbench">pgbench</link> switches
...@@ -2599,7 +2602,7 @@ ...@@ -2599,7 +2602,7 @@
<option>--index-tablespace</> (Robert Haas) <option>--index-tablespace</> (Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <link linkend="vacuumlo">vacuumlo</link> remove large objects Have <link linkend="vacuumlo">vacuumlo</link> remove large objects
...@@ -2612,7 +2615,7 @@ ...@@ -2612,7 +2615,7 @@
objects removed per transaction. objects removed per transaction.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <link Change <link
...@@ -2620,13 +2623,13 @@ ...@@ -2620,13 +2623,13 @@
for a fixed amount of time, rather than a fixed number of cycles for a fixed amount of time, rather than a fixed number of cycles
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
The <option>-o</>/cycles option was removed, and The <option>-o</>/cycles option was removed, and
<option>-s</>/seconds added. <option>-s</>/seconds added.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <link Add a <link
...@@ -2635,7 +2638,7 @@ ...@@ -2635,7 +2638,7 @@
Aasma, Greg Smith) Aasma, Greg Smith)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect4> <sect4>
...@@ -2649,7 +2652,7 @@ ...@@ -2649,7 +2652,7 @@
does not have a <literal>postgres</> database (Bruce Momjian) does not have a <literal>postgres</> database (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_upgrade</> to handle cases where some Allow <application>pg_upgrade</> to handle cases where some
...@@ -2657,31 +2660,31 @@ ...@@ -2657,31 +2660,31 @@
(Bruce Momjian) (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_upgrade</> to handle configuration-only Allow <application>pg_upgrade</> to handle configuration-only
directory installations (Bruce Momjian) directory installations (Bruce Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
In <application>pg_upgrade</>, add <option>-o</>/<option>-O</> In <application>pg_upgrade</>, add <option>-o</>/<option>-O</>
options to pass parameters to the servers (Bruce Momjian) options to pass parameters to the servers (Bruce Momjian)
</para> </para>
<para> <para>
This is useful for configuration-only directory installs. This is useful for configuration-only directory installs.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change <application>pg_upgrade</> to use port 50432 by default Change <application>pg_upgrade</> to use port 50432 by default
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
This helps avoid unintended client connections during the upgrade. This helps avoid unintended client connections during the upgrade.
</para> </para>
...@@ -2692,7 +2695,7 @@ ...@@ -2692,7 +2695,7 @@
Overhaul <application>pg_upgrade</> logging and failure reporting Overhaul <application>pg_upgrade</> logging and failure reporting
(Bruce Momjian) (Bruce Momjian)
</para> </para>
<para> <para>
Create four append-only log files, and delete them on success. Create four append-only log files, and delete them on success.
Add <option>-r</>/<option>--retain</> option to unconditionally Add <option>-r</>/<option>--retain</> option to unconditionally
...@@ -2701,13 +2704,13 @@ ...@@ -2701,13 +2704,13 @@
and tighten log file permissions. and tighten log file permissions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Adjust <application>pg_upgrade</> environment variables (Bruce Adjust <application>pg_upgrade</> environment variables (Bruce
Momjian) Momjian)
</para> </para>
<para> <para>
Rename data, bin, and port environment Rename data, bin, and port environment
variables to begin with <literal>PG</>, and support variables to begin with <literal>PG</>, and support
...@@ -2715,31 +2718,31 @@ ...@@ -2715,31 +2718,31 @@
<envar>PGPORT</envar>. INCOMPATIBILITY? <envar>PGPORT</envar>. INCOMPATIBILITY?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <application>pg_upgrade</> create a script to incrementally Have <application>pg_upgrade</> create a script to incrementally
generate more accurate optimizer statistics (Bruce Momjian) generate more accurate optimizer statistics (Bruce Momjian)
</para> </para>
<para> <para>
This reduces the time needed to generate minimal cluster statistics This reduces the time needed to generate minimal cluster statistics
after an upgrade. after an upgrade.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reduce cluster locking in <application>pg_upgrade</> (Bruce Reduce cluster locking in <application>pg_upgrade</> (Bruce
Momjian) Momjian)
</para> </para>
<para> <para>
Specifically, only lock the old cluster if link mode is used, Specifically, only lock the old cluster if link mode is used,
and do it right after the schema is restored. and do it right after the schema is restored.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2755,7 +2758,7 @@ ...@@ -2755,7 +2758,7 @@
queries (Peter Geoghegan, Daniel Farina, Tom Lane) queries (Peter Geoghegan, Daniel Farina, Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve <application>pg_stat_statements</>' handling of Improve <application>pg_stat_statements</>' handling of
...@@ -2763,7 +2766,7 @@ ...@@ -2763,7 +2766,7 @@
(Tom Lane) (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add dirtied and written block counts to Add dirtied and written block counts to
...@@ -2771,7 +2774,7 @@ ...@@ -2771,7 +2774,7 @@
Greg Smith) Greg Smith)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2785,40 +2788,40 @@ ...@@ -2785,40 +2788,40 @@
Support <literal>SECURITY LABEL</> on global objects (KaiGai Kohei, Support <literal>SECURITY LABEL</> on global objects (KaiGai Kohei,
Robert Haas) Robert Haas)
</para> </para>
<para> <para>
Specifically, add <literal>SECURITY LABEL</>s to databases, Specifically, add <literal>SECURITY LABEL</>s to databases,
tablespaces, and roles. tablespaces, and roles.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow sepgsql to honor database labels (KaiGai Kohei) Allow sepgsql to honor database labels (KaiGai Kohei)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Perform sepgsql permission checks during the creation of various Perform sepgsql permission checks during the creation of various
objects (KaiGai Kohei, Dimitri Fontaine) objects (KaiGai Kohei, Dimitri Fontaine)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>sepgsql_setcon()</> and related functions to control Add <function>sepgsql_setcon()</> and related functions to control
the sepgsql security domain (KaiGai Kohei, Yeb Havinga) the sepgsql security domain (KaiGai Kohei, Yeb Havinga)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a userspace access cache to sepgsql to improve performance Add a userspace access cache to sepgsql to improve performance
(KaiGai Kohei) (KaiGai Kohei)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -2834,18 +2837,18 @@ ...@@ -2834,18 +2837,18 @@
Add a rule to optionally build docs with the stylesheet from the Add a rule to optionally build docs with the stylesheet from the
website (Magnus Hagander) website (Magnus Hagander)
</para> </para>
<para> <para>
Use <command>make STYLE=website draft</>. Use <command>make STYLE=website draft</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve <command>EXPLAIN</command> documentation (Tom Lane) Improve <command>EXPLAIN</command> documentation (Tom Lane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Document that user/database names are preserved with double-quoting Document that user/database names are preserved with double-quoting
...@@ -2853,21 +2856,21 @@ ...@@ -2853,21 +2856,21 @@
Momjian) Momjian)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve the foreign data wrapper <acronym>API</acronym> and Improve the foreign data wrapper <acronym>API</acronym> and
documentation (Hanada Shigeru, KaiGai Kohei) documentation (Hanada Shigeru, KaiGai Kohei)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Document the actual string returned by the client for MD5 Document the actual string returned by the client for MD5
authentication (Cyan Ogilvie) authentication (Cyan Ogilvie)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
......
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