Commit 749eceff authored by Tom Lane's avatar Tom Lane

Doc: desultory copy-editing for v10 release notes.

Improve many item descriptions, improve markup, relocate some items
that seemed to be in the wrong section.
parent fad7873c
...@@ -52,38 +52,35 @@ ...@@ -52,38 +52,35 @@
2017-05-19 [a95410e2e] pg_upgrade: Handle hash index upgrades more smoothly. 2017-05-19 [a95410e2e] pg_upgrade: Handle hash index upgrades more smoothly.
--> -->
<para> <para>
<application>pg_upgrade</>-ed hash indexes from previous major Hash indexes must be rebuilt after <application>pg_upgrade</>-ing
PostgreSQL versions must be rebuilt. from any previous major <productname>PostgreSQL</> version (Mithun
Cy, Robert Haas)
</para> </para>
<para> <para>
Major hash storage improvements necessitated this requirement. Major hash index improvements necessitated this requirement.
</para> <application>pg_upgrade</> will create a script to assist with this.
</listitem>
<listitem>
<!--
2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
-->
<para>
Change the default <link linkend="guc-log-destination">log
directory</> from <filename>pg_log</> to <filename>log</> (Andreas
Karlsson)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-10-20 [f82ec32ac] Rename "pg_xlog" directory to "pg_wal" 2016-10-20 [f82ec32ac] Rename "pg_xlog" directory to "pg_wal"
2017-03-17 [88e66d193] Rename "pg_clog" directory to "pg_xact".
--> -->
<para> <para>
Rename <filename>pg_xlog</> to <link Rename write-ahead log directory <filename>pg_xlog</>
linkend="wal"><filename>pg_wal</></> (Michael Paquier) to <link linkend="wal"><filename>pg_wal</></>, and rename transaction
status directory <filename>pg_clog</> to <filename>pg_xact</>
(Michael Paquier)
</para> </para>
<para> <para>
This prevents the write-ahead log directory from being confused as Users have occasionally thought that these directories contained only
containing server activity logs, and erroneously truncated. inessential log files, and proceeded to remove write-ahead log files
or transaction status files manually, causing irrecoverable data
loss. These name changes are intended to discourage such errors in
future.
</para> </para>
</listitem> </listitem>
...@@ -103,18 +100,10 @@ ...@@ -103,18 +100,10 @@
For example, <function>pg_switch_xlog()</> becomes For example, <function>pg_switch_xlog()</> becomes
<function>pg_switch_wal()</>, <application>pg_receivexlog</> <function>pg_switch_wal()</>, <application>pg_receivexlog</>
becomes <application>pg_receivewal</>, and <option>--xlogdir</> becomes <application>pg_receivewal</>, and <option>--xlogdir</>
becomes <option>--waldir</>. This might require adjustments for becomes <option>--waldir</>. This is for consistency with the
prior-version scripts. change of the <filename>pg_xlog</> directory name; in general,
</para> the <quote>xlog</> terminology is no longer used in any user-facing
</listitem> places.
<listitem>
<!--
2017-03-17 [88e66d193] Rename "pg_clog" directory to "pg_xact".
-->
<para>
Rename transaction status directory <filename>pg_clog</> directory
to <filename>pg_xact</> (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -126,6 +115,10 @@ ...@@ -126,6 +115,10 @@
Rename <acronym>WAL</>-related functions and views to use <literal>lsn</> Rename <acronym>WAL</>-related functions and views to use <literal>lsn</>
instead of <literal>location</> (David Rowley) instead of <literal>location</> (David Rowley)
</para> </para>
<para>
There was previously an inconsistent mixture of the two terminologies.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -161,17 +154,17 @@ ...@@ -161,17 +154,17 @@
2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup 2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup
--> -->
<para> <para>
Have <application><xref linkend="app-pgbasebackup"></> stream the Make <application><xref linkend="app-pgbasebackup"></> stream the
<acronym>WAL</> needed to restore the backup by default (Magnus <acronym>WAL</> needed to restore the backup by default (Magnus
Hagander) Hagander)
</para> </para>
<para> <para>
This changes the <application>pg_basebackup</> This changes <application>pg_basebackup</>'s
<option>-X</>/<option>--xlog-method</> default to <literal>stream</>. <option>-X</>/<option>--xlog-method</> default to <literal>stream</>.
An option value <literal>none</> has been added to recreate the old An option value <literal>none</> has been added to reproduce the old
behavior. The <application>pg_basebackup</> option <option>-x</> behavior. The <application>pg_basebackup</> option <option>-x</>
has been removed (use <option>-X</> fetch). has been removed (instead, use <literal>-X fetch</>).
</para> </para>
</listitem> </listitem>
...@@ -181,7 +174,8 @@ ...@@ -181,7 +174,8 @@
--> -->
<para> <para>
Change how logical replication Change how logical replication
uses <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>. uses <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
(Peter Eisentraut)
</para> </para>
<para> <para>
...@@ -190,7 +184,7 @@ ...@@ -190,7 +184,7 @@
of this release, logical replication matches a normal entry with a of this release, logical replication matches a normal entry with a
database name or keywords such as <literal>all</literal>. Physical database name or keywords such as <literal>all</literal>. Physical
replication continues to use the <literal>replication</literal> keyword. replication continues to use the <literal>replication</literal> keyword.
Since built-in logical replication is new in this release as well, this Since built-in logical replication is new in this release, this
change only affects users of third-party logical replication plugins. change only affects users of third-party logical replication plugins.
</para> </para>
</listitem> </listitem>
...@@ -220,14 +214,15 @@ ...@@ -220,14 +214,15 @@
</para> </para>
<para> <para>
The server-side variable <xref linkend="guc-password-encryption"> The <xref linkend="guc-password-encryption"> server parameter
no longer supports <literal>off</> or <literal>plain</>. no longer supports <literal>off</> or <literal>plain</>.
The <literal>UNENCRYPTED</> option is no longer supported for The <literal>UNENCRYPTED</> option is no longer supported in
<command>CREATE/ALTER USER ... PASSSWORD</>. Similarly, the <command>CREATE/ALTER USER ... PASSSWORD</>. Similarly, the
<option>--unencrypted</> has been removed from <command>createuser</>. <option>--unencrypted</> option has been removed
The default for <option>password_encryption</> is still from <application>createuser</>. Unencrypted passwords migrated from
<literal>md5</>, and users migrating passwords from older systems older versions will be stored encrypted in this release. The default
will have them stored encrypted by default in this release. setting for <varname>password_encryption</> is still
<literal>md5</>.
</para> </para>
</listitem> </listitem>
...@@ -243,13 +238,13 @@ ...@@ -243,13 +238,13 @@
</para> </para>
<para> <para>
This makes a backwards-incompatible change to the handling of This feature requires a backwards-incompatible change to the handling
composite types in arrays. Previously, you could return an array of of arrays of composite types in PL/Python. Previously, you could
composite types as "[[col1, col2], [col1, col2]]", but now that is return an array of composite values by writing, e.g., <literal>[[col1,
interpreted as a two- dimensional array. Composite types in arrays col2], [col1, col2]]</>; but now that is interpreted as a
must now be returned as Python tuples, not lists, to resolve the two-dimensional array. Composite types in arrays must now be written
ambiguity. I.e. "[(col1, col2), (col1, col2)]". See the documentation as Python tuples, not lists, to resolve the ambiguity; that is,
for more details. CLARIFY write <literal>[(col1, col2), (col1, col2)]</> instead.
</para> </para>
</listitem> </listitem>
...@@ -258,11 +253,25 @@ ...@@ -258,11 +253,25 @@
2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility. 2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility.
--> -->
<para> <para>
Remove PL/Tcl's "module" auto-loading facility (Tom Lane) Remove PL/Tcl's <quote>module</> auto-loading facility (Tom Lane)
</para>
<para>
This functionality has been replaced by new server
parameters <xref linkend="guc-pltcl-start-proc">
and <xref linkend="guc-pltclu-start-proc">, which are easier to use
and more similar to features available in other PLs.
</para> </para>
</listitem>
<listitem>
<!--
2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
-->
<para> <para>
Replaced by new PL/Tcl startup <acronym>GUC</>s. Change the default value of the <xref linkend="guc-log-destination">
server parameter from <filename>pg_log</> to <filename>log</>
(Andreas Karlsson)
</para> </para>
</listitem> </listitem>
...@@ -271,14 +280,14 @@ ...@@ -271,14 +280,14 @@
2016-12-23 [e13486eba] Remove sql_inheritance GUC. 2016-12-23 [e13486eba] Remove sql_inheritance GUC.
--> -->
<para> <para>
Remove <varname>sql_inheritance</> <acronym>GUC</> (Robert Haas) Remove <varname>sql_inheritance</> server parameter (Robert Haas)
</para> </para>
<para> <para>
Changing this from the default value caused queries referencing Changing this setting from the default value caused queries referencing
parent tables to not include children tables. The <acronym>SQL</> parent tables to not include child tables. The <acronym>SQL</>
standard requires such behavior and this has been the default since standard requires such behavior and this has been the default since
PostgreSQL 7.1. <productname>PostgreSQL</> 7.1.
</para> </para>
</listitem> </listitem>
...@@ -287,14 +296,14 @@ ...@@ -287,14 +296,14 @@
2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs. 2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs.
--> -->
<para> <para>
Add <acronym>GUC</>s <xref linkend="guc-min-parallel-table-scan-size"> Add <xref linkend="guc-min-parallel-table-scan-size">
and <xref linkend="guc-min-parallel-index-scan-size"> to control and <xref linkend="guc-min-parallel-index-scan-size"> server
parallel operation (Amit Kapila, Robert Haas) parameters to control parallel queries (Amit Kapila, Robert Haas)
</para> </para>
<para> <para>
This replaces <varname>min_parallel_relation_size</>, which was These replace <varname>min_parallel_relation_size</>, which was
too generic. found to be too generic.
</para> </para>
</listitem> </listitem>
...@@ -305,7 +314,7 @@ ...@@ -305,7 +314,7 @@
<para> <para>
Don't downcase unquoted text Don't downcase unquoted text
within <xref linkend="guc-shared-preload-libraries"> and related within <xref linkend="guc-shared-preload-libraries"> and related
settings (QL Zhuo) server parameters (QL Zhuo)
</para> </para>
<para> <para>
...@@ -325,8 +334,9 @@ ...@@ -325,8 +334,9 @@
</para> </para>
<para> <para>
Users needing dump support for pre-8.0 servers need to use dump Users needing to dump from pre-8.0 servers will need to use dump
binaries from PostgreSQL 9.6. programs from <productname>PostgreSQL</> 9.6 or earlier. The
resulting output should still load successfully into newer servers.
</para> </para>
</listitem> </listitem>
...@@ -335,13 +345,13 @@ ...@@ -335,13 +345,13 @@
2017-02-23 [b6aa17e0a] De-support floating-point timestamps. 2017-02-23 [b6aa17e0a] De-support floating-point timestamps.
--> -->
<para> <para>
Remove support for floating-point datetimes/timestamps (Tom Lane) Remove support for floating-point timestamps and intervals (Tom Lane)
</para> </para>
<para> <para>
This removes configure's <option>--disable-integer-datetimes</> This removes configure's <option>--disable-integer-datetimes</>
option. Floating-point datetimes/timestamps have not been the option. Floating-point timestamps have not been the
default since PostgreSQL 8.3 and have few advantages. default since <productname>PostgreSQL</> 8.3 and have few advantages.
</para> </para>
</listitem> </listitem>
...@@ -354,7 +364,8 @@ ...@@ -354,7 +364,8 @@
</para> </para>
<para> <para>
This protocol hasn't had client support since PostgreSQL 6.3. This protocol hasn't had client support
since <productname>PostgreSQL</> 6.3.
</para> </para>
</listitem> </listitem>
...@@ -363,12 +374,12 @@ ...@@ -363,12 +374,12 @@
2017-02-13 [7ada2d31f] Remove contrib/tsearch2. 2017-02-13 [7ada2d31f] Remove contrib/tsearch2.
--> -->
<para> <para>
Remove contrib/tsearch2 (Robert Haas) Remove <filename>contrib/tsearch2</> module (Robert Haas)
</para> </para>
<para> <para>
This removes compatibility with the contrib version of full text This module provided compatibility with the version of full text
search that shipped in pre-8.3 PostgreSQL versions. search that shipped in pre-8.3 <productname>PostgreSQL</> releases.
</para> </para>
</listitem> </listitem>
...@@ -377,8 +388,14 @@ ...@@ -377,8 +388,14 @@
2017-03-23 [50c956add] Remove createlang and droplang 2017-03-23 [50c956add] Remove createlang and droplang
--> -->
<para> <para>
Remove createlang and droplang command-line applications (Peter Remove <application>createlang</> and <application>droplang</>
Eisentraut) command-line applications (Peter Eisentraut)
</para>
<para>
These were deprecated since <productname>PostgreSQL</> 9.1. Instead,
use <command>CREATE EXTENSION</> and <command>DROP EXTENSION</>
directly.
</para> </para>
</listitem> </listitem>
...@@ -390,15 +407,10 @@ ...@@ -390,15 +407,10 @@
Remove support for version-0 function calling conventions (Andres Remove support for version-0 function calling conventions (Andres
Freund) Freund)
</para> </para>
</listitem>
<listitem>
<!--
2016-10-11 [2b860f52e] Remove "sco" and "unixware" ports.
-->
<para> <para>
Remove <systemitem class="osname">SCO</> and <systemitem Extensions providing C-coded functions must now conform to version 1
class="osname">Unixware</> ports (Tom Lane) calling conventions. Version 0 has been deprecated since 2001.
</para> </para>
</listitem> </listitem>
...@@ -435,8 +447,8 @@ ...@@ -435,8 +447,8 @@
</para> </para>
<para> <para>
Allows B-tree index pages to be checked by separate parallel This change allows B-tree index pages to be searched by separate
workers. parallel workers.
</para> </para>
</listitem> </listitem>
...@@ -499,13 +511,13 @@ ...@@ -499,13 +511,13 @@
2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8. 2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8.
--> -->
<para> <para>
Add <acronym>GUC</> <xref linkend="guc-max-parallel-workers"> Add <xref linkend="guc-max-parallel-workers"> server parameter
to limit the number of worker processes that can be used for to limit the number of worker processes that can be used for
query parallelism (Julien Rouhaud) query parallelism (Julien Rouhaud)
</para> </para>
<para> <para>
This can be set lower than <xref This parameter can be set lower than <xref
linkend="guc-max-worker-processes"> to reserve worker processes linkend="guc-max-worker-processes"> to reserve worker processes
for purposes other than parallel queries. for purposes other than parallel queries.
</para> </para>
...@@ -555,7 +567,7 @@ ...@@ -555,7 +567,7 @@
<para> <para>
Specifically, a new <link linkend="SQL-CREATEINDEX"><command>CREATE Specifically, a new <link linkend="SQL-CREATEINDEX"><command>CREATE
INDEX</></> option allows auto-summarizion of the INDEX</></> option allows auto-summarization of the
previous <acronym>BRIN</> page range when a new page previous <acronym>BRIN</> page range when a new page
range is created. range is created.
</para> </para>
...@@ -572,7 +584,7 @@ ...@@ -572,7 +584,7 @@
</para> </para>
<para> <para>
New <acronym>SQL</> function <link The new <acronym>SQL</> function <link
linkend="functions-admin-index-table"><function>brin_summarize_range()</></> linkend="functions-admin-index-table"><function>brin_summarize_range()</></>
updates <acronym>BRIN</> index summarization for a specified updates <acronym>BRIN</> index summarization for a specified
range and <function>brin_desummarize_range()</> removes it. range and <function>brin_desummarize_range()</> removes it.
...@@ -619,8 +631,8 @@ ...@@ -619,8 +631,8 @@
</para> </para>
<para> <para>
This makes hash indexes crash-safe and replicated, and removes This makes hash indexes crash-safe and replicatable.
the warning message about their use. The former warning message about their use is removed.
</para> </para>
</listitem> </listitem>
...@@ -630,7 +642,7 @@ ...@@ -630,7 +642,7 @@
2017-02-07 [293e24e50] Cache hash index's metapage in rel->rd_amcache. 2017-02-07 [293e24e50] Cache hash index's metapage in rel->rd_amcache.
--> -->
<para> <para>
Improve hash bucket split performance by reducing locking Improve hash index bucket split performance by reducing locking
requirements (Amit Kapila, Mithun Cy) requirements (Amit Kapila, Mithun Cy)
</para> </para>
...@@ -653,7 +665,7 @@ ...@@ -653,7 +665,7 @@
2017-03-15 [6977b8b7f] Port single-page btree vacuum logic to hash indexes. 2017-03-15 [6977b8b7f] Port single-page btree vacuum logic to hash indexes.
--> -->
<para> <para>
Allow single-page hash pruning (Ashutosh Sharma) Allow page-at-a-time hash index pruning (Ashutosh Sharma)
</para> </para>
</listitem> </listitem>
...@@ -671,33 +683,35 @@ ...@@ -671,33 +683,35 @@
<listitem> <listitem>
<!-- <!--
2017-03-31 [64d4da511] For foreign keys, check REFERENCES privilege only on the 2016-09-05 [15bc038f9] Relax transactional restrictions on ALTER TYPE ... ADD V
--> -->
<para> <para>
Only check for <literal>REFERENCES</> permission on referenced Reduce locking required for adding values to enum types (Andrew
tables (Tom Lane) Dunstan, Tom Lane)
</para> </para>
<para> <para>
Previously <literal>REFERENCES</> permission on the referencing Previously it was impossible to run <command>ALTER TYPE ... ADD
table was also required. VALUE</> in a transaction block unless the enum type was created
in the same block. Now, only references to uncommitted enum
values from other transactions are prohibited.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-09-05 [15bc038f9] Relax transactional restrictions on ALTER TYPE ... ADD V 2017-03-06 [21d4e2e20] Reduce lock levels for table storage params related to p
2017-04-05 [68ea2b7f9] Reduce lock level for CREATE STATISTICS
--> -->
<para> <para>
Reduce locking required for adding values to enum types (Andrew Reduce locking required to change table parameters (Simon Riggs,
Dunstan, Tom Lane) Fabr&iacute;zio Mello)
</para> </para>
<para> <para>
Previously it was impossible to run <command>ALTER TYPE ... ADD For example, changing a table's <xref
VALUE</> in a transaction block unless the enum type was created linkend="guc-effective-io-concurrency"> setting can now be done
in the same block. Now, only references to uncommitted enum with a more lightweight lock.
values from other transactions is prohibited.
</para> </para>
</listitem> </listitem>
...@@ -711,7 +725,8 @@ ...@@ -711,7 +725,8 @@
</para> </para>
<para> <para>
The new settings are <xref Lock promotion can now be controlled through two new server
parameters, <xref
linkend="guc-max-pred-locks-per-relation"> and linkend="guc-max-pred-locks-per-relation"> and
<xref linkend="guc-max-pred-locks-per-page">. <xref linkend="guc-max-pred-locks-per-page">.
</para> </para>
...@@ -739,22 +754,12 @@ ...@@ -739,22 +754,12 @@
</para> </para>
<para> <para>
New commands are <command><link New commands are <link
linkend="SQL-CREATESTATISTICS">CREATE</></>, linkend="SQL-CREATESTATISTICS"><command>CREATE STATISTICS</></>,
<command><link linkend="SQL-ALTERSTATISTICS">ALTER</></>, and <link linkend="SQL-ALTERSTATISTICS"><command>ALTER STATISTICS</></>, and
<command><link linkend="SQL-DROPSTATISTICS">DROP STATISTICS</></>. <link linkend="SQL-DROPSTATISTICS"><command>DROP STATISTICS</></>.
This is helpful in This feature is helpful in estimating query memory usage and when
estimating query memory usage and when combining the statistics combining the statistics from individual columns.
from individual columns.
</para>
</listitem>
<listitem>
<!--
2017-01-15 [0777f7a2e] Fix matching of boolean index columns to sort ordering.
-->
<para>
Improve planner matching of <type>boolean</type> indexes (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -763,13 +768,14 @@ ...@@ -763,13 +768,14 @@
2017-01-18 [215b43cdc] Improve RLS planning by marking individual quals with se 2017-01-18 [215b43cdc] Improve RLS planning by marking individual quals with se
--> -->
<para> <para>
Improve performance of queries referencing row-level security Improve performance of queries affected by row-level security
restrictions (Tom Lane) restrictions (Tom Lane)
</para> </para>
<para> <para>
The optimizer now has more flexibility in reordering executor The optimizer now has more knowledge about where it can place RLS
behavior. filter conditions, allowing better plans to be generated while still
enforcing the RLS conditions safely.
</para> </para>
</listitem> </listitem>
...@@ -787,11 +793,10 @@ ...@@ -787,11 +793,10 @@
2016-09-02 [9cca11c91] Speed up SUM calculation in numeric aggregates. 2016-09-02 [9cca11c91] Speed up SUM calculation in numeric aggregates.
--> -->
<para> <para>
Speed up <function>SUM()</> calculations (Heikki Linnakangas) Speed up aggregate functions that calculate a running sum
</para> using <type>numeric</>-type arithmetic, including some variants
of <function>SUM()</>, <function>AVG()</>,
<para> and <function>STDDEV()</> (Heikki Linnakangas)
This uses an optimized numeric accumulator.
</para> </para>
</listitem> </listitem>
...@@ -800,7 +805,7 @@ ...@@ -800,7 +805,7 @@
2017-03-13 [aeed17d00] Use radix tree for character encoding conversions. 2017-03-13 [aeed17d00] Use radix tree for character encoding conversions.
--> -->
<para> <para>
Improve the performance of character encoding conversions by Improve performance of character encoding conversions by
using radix trees (Kyotaro Horiguchi, Heikki Linnakangas) using radix trees (Kyotaro Horiguchi, Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
...@@ -810,7 +815,7 @@ ...@@ -810,7 +815,7 @@
2017-03-25 [b8d7f053c] Faster expression evaluation and targetlist projection. 2017-03-25 [b8d7f053c] Faster expression evaluation and targetlist projection.
--> -->
<para> <para>
Reduce the function call overhead during query execution (Andres Reduce expression evaluation overhead during query execution (Andres
Freund) Freund)
</para> </para>
...@@ -824,7 +829,8 @@ ...@@ -824,7 +829,8 @@
2017-03-27 [b5635948a] Support hashed aggregation with grouping sets. 2017-03-27 [b5635948a] Support hashed aggregation with grouping sets.
--> -->
<para> <para>
Improve the performance of grouping sets (Andrew Gierth) Allow hashed aggregation to be used with grouping sets (Andrew
Gierth)
</para> </para>
</listitem> </listitem>
...@@ -901,9 +907,9 @@ ...@@ -901,9 +907,9 @@
2017-03-08 [f9b1a0dd4] Expose explain's SUMMARY option 2017-03-08 [f9b1a0dd4] Expose explain's SUMMARY option
--> -->
<para> <para>
Allow explicit control over <command><link Allow explicit control
linkend="SQL-EXPLAIN">EXPLAIN</></>'s display of planning and over <link linkend="SQL-EXPLAIN"><command>EXPLAIN</></>'s display
execution time (Ashutosh Bapat) of planning and execution time (Ashutosh Bapat)
</para> </para>
<para> <para>
...@@ -952,13 +958,13 @@ ...@@ -952,13 +958,13 @@
2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '. 2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '.
--> -->
<para> <para>
Change <xref linkend="guc-log-line-prefix"> default to include Change the default value of <xref linkend="guc-log-line-prefix">
current timestamp with milliseconds and the process id (Christoph to include current timestamp (with milliseconds) and the process ID
Berg) in each line of postmaster log output (Christoph Berg)
</para> </para>
<para> <para>
The previous default was not to output a prefix. The previous default was an empty prefix.
</para> </para>
</listitem> </listitem>
...@@ -972,13 +978,11 @@ ...@@ -972,13 +978,11 @@
</para> </para>
<para> <para>
The new functions are <link The new functions
linkend="functions-admin-genfile-table"><function>pg_ls_logdir()</></> are <link linkend="functions-admin-genfile-table"><function>pg_ls_logdir()</></>
and and <link linkend="functions-admin-genfile-table"><function>pg_ls_waldir()</></>
<link and can be executed by non-superusers with the proper
linkend="functions-admin-genfile-table"><function>pg_ls_waldir()</></> permissions.
and can be
executed by non-super users with the proper permissions.
</para> </para>
</listitem> </listitem>
...@@ -1000,12 +1004,13 @@ ...@@ -1000,12 +1004,13 @@
2017-03-14 [2b32ac2a5] Include port number when logging successful binding to a 2017-03-14 [2b32ac2a5] Include port number when logging successful binding to a
--> -->
<para> <para>
Report the address and port number of successful startup socket Report the address and port number of each listening socket
binding in the server logs (Tom Lane) in the server log during postmaster startup (Tom Lane)
</para> </para>
<para> <para>
Also, report bind socket failure details in the server logs. Also, when logging failure to bind a listening socket, include
the specific address we attempted to bind to.
</para> </para>
</listitem> </listitem>
...@@ -1075,30 +1080,18 @@ ...@@ -1075,30 +1080,18 @@
<listitem> <listitem>
<!-- <!--
2017-03-26 [fc70a4b0d] Show more processes in pg_stat_activity.
-->
<para>
Show auxiliary processes and background workers in
<structname>pg_stat_activity</> (Kuntal Ghosh)
</para>
<para>
New column <structfield>backend_type</> identifies the process
type.
</para>
</listitem>
<listitem>
<!--
2016-09-12 [fc3d4a44e] Identify walsenders in pg_stat_activity 2016-09-12 [fc3d4a44e] Identify walsenders in pg_stat_activity
2017-03-26 [fc70a4b0d] Show more processes in pg_stat_activity.
--> -->
<para> <para>
Display walsender processes in <structname>pg_stat_activity</> Show auxiliary processes, background workers, and walsender
(Michael Paquier) processes in <structname>pg_stat_activity</> (Kuntal Ghosh,
Michael Paquier)
</para> </para>
<para> <para>
This simplifies monitoring. This simplifies monitoring. A new
column <structfield>backend_type</> identifies the process type.
</para> </para>
</listitem> </listitem>
...@@ -1107,7 +1100,7 @@ ...@@ -1107,7 +1100,7 @@
2017-02-22 [4c728f382] Pass the source text for a parallel query to the workers 2017-02-22 [4c728f382] Pass the source text for a parallel query to the workers
--> -->
<para> <para>
Allow <structname>pg_stat_activity</> to show the source query Allow <structname>pg_stat_activity</> to show the SQL query
being executed by parallel workers (Rafia Sabih) being executed by parallel workers (Rafia Sabih)
</para> </para>
</listitem> </listitem>
...@@ -1162,7 +1155,7 @@ ...@@ -1162,7 +1155,7 @@
2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum. 2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum.
--> -->
<para> <para>
Change <acronym>GUC</> <xref linkend="guc-password-encryption"> Change the <xref linkend="guc-password-encryption"> server parameter
from <type>boolean</> to <type>enum</> (Michael Paquier) from <type>boolean</> to <type>enum</> (Michael Paquier)
</para> </para>
...@@ -1223,37 +1216,13 @@ ...@@ -1223,37 +1216,13 @@
<para> <para>
This allows <acronym>SSL</> to be reconfigured without a server This allows <acronym>SSL</> to be reconfigured without a server
restart by using <command>pg_ctl reload</>, <command>SELECT restart, by using <command>pg_ctl reload</>, <command>SELECT
pg_reload_conf()</>, or sending a <literal>SIGHUP</> signal. pg_reload_conf()</>, or sending a <literal>SIGHUP</> signal.
Reload <acronym>SSL</> configuration updates do not work if the However, reloading the <acronym>SSL</> configuration does not work
<acronym>SSL</> key requires a passphrase. if the server's <acronym>SSL</> key requires a passphrase, as there
</para> is no way to re-prompt for the passphrase. The original
</listitem> configuration will apply for the life of the postmaster in that
case.
<listitem>
<!--
2016-11-30 [81c52728f] doc: Remove claim about large shared_buffers on Windows
-->
<para>
Remove documented restriction about using large shared buffers on
<systemitem class="osname">Windows</> (Takayuki Tsunakawa)
</para>
</listitem>
<listitem>
<!--
2017-03-06 [21d4e2e20] Reduce lock levels for table storage params related to p
2017-04-05 [68ea2b7f9] Reduce lock level for CREATE STATISTICS
-->
<para>
Reduce locking required to change table parameters (Simon Riggs,
Fabr&iacute;zio Mello)
</para>
<para>
For example, changing a table's <xref
linkend="guc-effective-io-concurrency"> setting can now be done
with a more lightweight lock.
</para> </para>
</listitem> </listitem>
...@@ -1303,7 +1272,7 @@ ...@@ -1303,7 +1272,7 @@
2016-12-22 [6ef2eba3f] Skip checkpoints, archiving on idle systems. 2016-12-22 [6ef2eba3f] Skip checkpoints, archiving on idle systems.
--> -->
<para> <para>
Prevent checkpoints and <acronym>WAL</> archiving on Prevent unnecessary checkpoints and <acronym>WAL</> archiving on
otherwise-idle systems (Michael Paquier) otherwise-idle systems (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -1314,7 +1283,7 @@ ...@@ -1314,7 +1283,7 @@
2017-03-14 [bb4a39637] hash: Support WAL consistency checking. 2017-03-14 [bb4a39637] hash: Support WAL consistency checking.
--> -->
<para> <para>
Add <acronym>GUC</> <xref linkend="guc-wal-consistency-checking"> Add <xref linkend="guc-wal-consistency-checking"> server parameter
to add details to <acronym>WAL</> that can be sanity-checked on to add details to <acronym>WAL</> that can be sanity-checked on
the standby (Kuntal Ghosh, Robert Haas) the standby (Kuntal Ghosh, Robert Haas)
</para> </para>
...@@ -1365,9 +1334,10 @@ ...@@ -1365,9 +1334,10 @@
</para> </para>
<para> <para>
This allows more fine-grained replication options, including Logical replication allows more flexibility than physical
replication between different major versions of PostgreSQL and replication does, including replication between different major
selective-table replication. versions of <productname>PostgreSQL</> and selective-table
replication.
</para> </para>
</listitem> </listitem>
...@@ -1396,15 +1366,16 @@ ...@@ -1396,15 +1366,16 @@
2017-05-02 [34fc61673] Change hot_standby default value to 'on' 2017-05-02 [34fc61673] Change hot_standby default value to 'on'
--> -->
<para> <para>
Reduce configuration necessary to perform streaming backup and Reduce configuration changes necessary to perform streaming backup
replication (Magnus Hagander, Dang Minh Huong) and replication (Magnus Hagander, Dang Minh Huong)
</para> </para>
<para> <para>
Specifically, defaults were changed for <xref Specifically, the defaults were changed for <xref
linkend="guc-wal-level">, <xref linkend="guc-max-wal-senders">, linkend="guc-wal-level">, <xref linkend="guc-max-wal-senders">,
<xref linkend="guc-max-replication-slots">, and <xref <xref linkend="guc-max-replication-slots">, and <xref
linkend="guc-hot-standby">. linkend="guc-hot-standby"> to make them suitable for these usages
out-of-the-box.
</para> </para>
</listitem> </listitem>
...@@ -1446,15 +1417,15 @@ ...@@ -1446,15 +1417,15 @@
2016-09-03 [35250b6ad] New recovery target recovery_target_lsn 2016-09-03 [35250b6ad] New recovery target recovery_target_lsn
--> -->
<para> <para>
Add specification of a Log Sequence Number (<acronym>LSN</>) Allow specification of the recovery stopping point by Log Sequence
stopping point in Number (<acronym>LSN</>) in
<link linkend="recovery-config"><filename>recovery.conf</></> <link linkend="recovery-config"><filename>recovery.conf</></>
(Michael Paquier) (Michael Paquier)
</para> </para>
<para> <para>
Previously only specification of the stop name, time, timeline, Previously the stopping point could only be selected by timestamp or
xid, and immediate were supported. XID.
</para> </para>
</listitem> </listitem>
...@@ -1535,12 +1506,18 @@ ...@@ -1535,12 +1506,18 @@
2016-11-22 [906bfcad7] Improve handling of "UPDATE ... SET (column_list) = row_ 2016-11-22 [906bfcad7] Improve handling of "UPDATE ... SET (column_list) = row_
--> -->
<para> <para>
Allow <literal>ROW</> to supply values to <command>UPDATE ... SET Allow standard row constructor syntax in <literal>UPDATE ... SET
(column_list)</> (Tom Lane) (<replaceable>column_list</>) = <replaceable>row_constructor</></literal>
(Tom Lane)
</para> </para>
<para> <para>
Also allow row values to be supplied by table.*. The <replaceable>row_constructor</> can now begin with the
keyword <literal>ROW</>; previously that had to be omitted. Also,
an occurrence of <literal><replaceable>table_name</>.*</literal>
within the <replaceable>row_constructor</> is now expanded into
multiple columns, as in other uses
of <replaceable>row_constructor</>s.
</para> </para>
</listitem> </listitem>
...@@ -1549,12 +1526,14 @@ ...@@ -1549,12 +1526,14 @@
2016-09-05 [c54159d44] Make locale-dependent regex character classes work for l 2016-09-05 [c54159d44] Make locale-dependent regex character classes work for l
--> -->
<para> <para>
Fix regular expression locale class handling for bytes greater Fix regular expressions' character class handling for large character
than <literal>U+7FF</> (Tom Lane) codes, particularly Unicode characters above <literal>U+7FF</>
(Tom Lane)
</para> </para>
<para> <para>
Previously such classes were not recognized. Previously, such characters were never recognized as belonging to
locale-dependent character classes such as <literal>[[:alpha:]]</>.
</para> </para>
</listitem> </listitem>
...@@ -1574,7 +1553,7 @@ ...@@ -1574,7 +1553,7 @@
<para> <para>
Add table <link linkend="SQL-CREATETABLE-PARTITION">partitioning Add table <link linkend="SQL-CREATETABLE-PARTITION">partitioning
syntax</> that automatically creates partition constraints and syntax</> that automatically creates partition constraints and
<command>INSERT</> routing (Amit Langote) handles routing of tuple insertions and updates (Amit Langote)
</para> </para>
<para> <para>
...@@ -1590,11 +1569,12 @@ ...@@ -1590,11 +1569,12 @@
--> -->
<para> <para>
Add <link linkend="SQL-CREATETRIGGER"><literal>AFTER</> trigger</> Add <link linkend="SQL-CREATETRIGGER"><literal>AFTER</> trigger</>
transition table to record changed rows (Kevin Grittner) transition tables to record changed rows (Kevin Grittner)
</para> </para>
<para> <para>
Transition table contents are accessible from server-side languages. Transition tables are accessible from triggers written in
server-side languages.
</para> </para>
</listitem> </listitem>
...@@ -1616,6 +1596,26 @@ ...@@ -1616,6 +1596,26 @@
<listitem> <listitem>
<!-- <!--
2017-03-31 [64d4da511] For foreign keys, check REFERENCES privilege only on the
-->
<para>
When creating a foreign-key constraint, check
for <literal>REFERENCES</> permission on only the referenced table
(Tom Lane)
</para>
<para>
Previously <literal>REFERENCES</> permission on the referencing
table was also required. This appears to have stemmed from a
misreading of the SQL standard. Since creating a foreign key (or
any other type of) constraint requires ownership privilege on the
constrained table, additionally requiring <literal>REFERENCES</>
permission seems rather pointless.
</para>
</listitem>
<listitem>
<!--
2017-03-28 [ab89e465c] Altering default privileges on schemas 2017-03-28 [ab89e465c] Altering default privileges on schemas
--> -->
<para> <para>
...@@ -1649,12 +1649,13 @@ ...@@ -1649,12 +1649,13 @@
2016-11-10 [279c439c7] Support "COPY view FROM" for views with INSTEAD OF INSER 2016-11-10 [279c439c7] Support "COPY view FROM" for views with INSTEAD OF INSER
--> -->
<para> <para>
Allow <command>COPY view FROM</> on views with <literal>INSTEAD Allow <literal>COPY <replaceable>view</>
FROM <replaceable>source</></> on views with <literal>INSTEAD
INSERT</> triggers (Haribabu Kommi) INSERT</> triggers (Haribabu Kommi)
</para> </para>
<para> <para>
The triggers are fed the rows from <command>COPY</>. The triggers are fed the data rows read by <command>COPY</>.
</para> </para>
</listitem> </listitem>
...@@ -1664,13 +1665,13 @@ ...@@ -1664,13 +1665,13 @@
--> -->
<para> <para>
Allow the specification of a function name without arguments in Allow the specification of a function name without arguments in
<acronym>DDL</> commands, when unique (Peter Eisentraut) <acronym>DDL</> commands, if it is unique (Peter Eisentraut)
</para> </para>
<para> <para>
For example, allow <link linkend="SQL-DROPFUNCTION"><command>DROP For example, allow <link linkend="SQL-DROPFUNCTION"><command>DROP
FUNCTION</></> on a function name without arguments if there FUNCTION</></> on a function name without arguments if there
is only one function with that name. This is required by the is only one function with that name. This behavior is required by the
<acronym>SQL</> standard. <acronym>SQL</> standard.
</para> </para>
</listitem> </listitem>
...@@ -1687,25 +1688,15 @@ ...@@ -1687,25 +1688,15 @@
<listitem> <listitem>
<!-- <!--
2017-02-15 [6d16ecc64] Add CREATE COLLATION IF NOT EXISTS clause
2017-03-20 [b6fb534f1] Add IF NOT EXISTS for CREATE SERVER and CREATE USER MAPP 2017-03-20 [b6fb534f1] Add IF NOT EXISTS for CREATE SERVER and CREATE USER MAPP
--> -->
<para> <para>
Add <literal>IF NOT EXISTS</> for <link Support <literal>IF NOT EXISTS</>
linkend="SQL-CREATESERVER"><command>CREATE SERVER</></> and in <link linkend="SQL-CREATESERVER"><command>CREATE SERVER</></>,
<link linkend="SQL-CREATEUSERMAPPING"><command>CREATE USER <link linkend="SQL-CREATEUSERMAPPING"><command>CREATE USER MAPPING</></>,
MAPPING</></> (Anastasia and <link linkend="SQL-CREATECOLLATION"><command>CREATE COLLATION</></>
Lubennikova) (Anastasia Lubennikova, Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
2017-02-15 [6d16ecc64] Add CREATE COLLATION IF NOT EXISTS clause
-->
<para>
Add <literal>IF NOT EXISTS</> clause to <link
linkend="SQL-CREATECOLLATION"><command>CREATE COLLATION</></>
(Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -1715,7 +1706,7 @@ ...@@ -1715,7 +1706,7 @@
2017-03-03 [9eb344faf] Allow vacuums to report oldestxmin 2017-03-03 [9eb344faf] Allow vacuums to report oldestxmin
--> -->
<para> <para>
Have <link linkend="SQL-VACUUM"><command>VACUUM VERBOSE</></> report Make <link linkend="SQL-VACUUM"><command>VACUUM VERBOSE</></> report
the number of skipped frozen pages and oldest xmin (Masahiko the number of skipped frozen pages and oldest xmin (Masahiko
Sawada, Simon Riggs) Sawada, Simon Riggs)
</para> </para>
...@@ -1734,11 +1725,6 @@ ...@@ -1734,11 +1725,6 @@
Improve speed of <command>VACUUM</>'s removal of trailing empty Improve speed of <command>VACUUM</>'s removal of trailing empty
heap pages (Claudio Freire, &Aacute;lvaro Herrera) heap pages (Claudio Freire, &Aacute;lvaro Herrera)
</para> </para>
<para>
This information is also included in <xref
linkend="guc-log-autovacuum-min-duration"> output.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -1760,8 +1746,8 @@ ...@@ -1760,8 +1746,8 @@
</para> </para>
<para> <para>
This is accessed via <function>ts_headline()</> and The functions <function>ts_headline()</> and
<function>to_tsvector()</>. <function>to_tsvector()</> can now be used on these data types.
</para> </para>
</listitem> </listitem>
...@@ -1770,14 +1756,15 @@ ...@@ -1770,14 +1756,15 @@
2017-03-15 [c7a9fa399] Add support for EUI-64 MAC addresses as macaddr8 2017-03-15 [c7a9fa399] Add support for EUI-64 MAC addresses as macaddr8
--> -->
<para> <para>
Add support for <acronym>EUI-64</> <acronym>MAC</> addresses as Add support for <acronym>EUI-64</> <acronym>MAC</> addresses, as a
<link linkend="datatype-macaddr8"><type>MACADDR8</></> (Haribabu new data type <link linkend="datatype-macaddr8"><type>macaddr8</></>
Kommi) (Haribabu Kommi)
</para> </para>
<para> <para>
This complements support for <acronym>EUI-48</> <acronym>MAC</> This complements the existing support
addresses as <type>macaddr</>. for <acronym>EUI-48</> <acronym>MAC</> addresses
as <type>macaddr</>.
</para> </para>
</listitem> </listitem>
...@@ -1823,8 +1810,9 @@ ...@@ -1823,8 +1810,9 @@
</para> </para>
<para> <para>
Previously "anyarray" values were converted to <type>JSON</> Previously columns declared as <type>anyarray</> (particularly those
strings. in the <structname>pg_stats</> view) were converted to <type>JSON</>
strings rather than arrays.
</para> </para>
</listitem> </listitem>
...@@ -1854,7 +1842,7 @@ ...@@ -1854,7 +1842,7 @@
2016-09-14 [656df624c] Add overflow checks to money type input function 2016-09-14 [656df624c] Add overflow checks to money type input function
--> -->
<para> <para>
More strictly check the <type>money</> type for overflow operations Check for overflow in the <type>money</> type's input function
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
</listitem> </listitem>
...@@ -1879,8 +1867,9 @@ ...@@ -1879,8 +1867,9 @@
</para> </para>
<para> <para>
Similar to <function>regexp_matches()</>, but only returns results This is similar to <function>regexp_matches()</>, but it only
from the first match so it is easier use for simple cases. returns results from the first match so it does not need to return a
set, making it easier to use for simple cases.
</para> </para>
</listitem> </listitem>
...@@ -1889,14 +1878,10 @@ ...@@ -1889,14 +1878,10 @@
2017-01-18 [d00ca333c] Implement array version of jsonb_delete and operator 2017-01-18 [d00ca333c] Implement array version of jsonb_delete and operator
--> -->
<para> <para>
Add version of jsonb's <link Add a version of <type>jsonb</>'s <link
linkend="functions-jsonb-op-table">delete operator</> that takes linkend="functions-jsonb-op-table">delete operator</> that takes
an array of keys to delete (Magnus Hagander) an array of keys to delete (Magnus Hagander)
</para> </para>
<para>
The <type>JSONB</> delete operator also now supports arrays.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -1904,13 +1889,18 @@ ...@@ -1904,13 +1889,18 @@
2017-04-06 [cf35346e8] Make json_populate_record and friends operate recursivel 2017-04-06 [cf35346e8] Make json_populate_record and friends operate recursivel
--> -->
<para> <para>
Improve <link Make <link linkend="functions-json-processing-table"><function>json_populate_record()</></>
linkend="functions-json-processing-table"><function>json_populate_record()</></> and related functions process JSON arrays and objects recursively
and friends operate recursively (Nikita Glukhov) (Nikita Glukhov)
</para> </para>
<para> <para>
CLARIFY With this change, array-type fields in the destination SQL type are
properly converted from JSON arrays, and composite-type fields are
properly converted from JSON objects. Previously, such cases would
fail because the text representation of the JSON value would be fed
to <function>array_in()</> or <function>record_in()</>, and its
syntax would not match what those input functions expect.
</para> </para>
</listitem> </listitem>
...@@ -1921,15 +1911,15 @@ ...@@ -1921,15 +1911,15 @@
<para> <para>
Add function <link Add function <link
linkend="functions-txid-snapshot"><function>txid_current_ifassigned()</></> linkend="functions-txid-snapshot"><function>txid_current_ifassigned()</></>
to return <literal>NULL</> if no transaction id has been assigned to return the current transaction ID or <literal>NULL</> if no
(Craig Ringer) transaction ID has been assigned (Craig Ringer)
</para> </para>
<para> <para>
This is different from <link This is different from <link
linkend="functions-txid-snapshot"><function>txid_current()</></>, linkend="functions-txid-snapshot"><function>txid_current()</></>,
which always returns a transaction id by assigning one if necessary. which always returns a transaction ID, assigning one if necessary.
This can be also run on standby servers. Unlike that function, this function can be run on standby servers.
</para> </para>
</listitem> </listitem>
...@@ -1944,7 +1934,7 @@ ...@@ -1944,7 +1934,7 @@
</para> </para>
<para> <para>
This is useful for checking after an abrupt disconnection if This is useful for checking after an abrupt disconnection whether
your previous transaction committed and you just didn't receive your previous transaction committed and you just didn't receive
the acknowledgement. the acknowledgement.
</para> </para>
...@@ -1967,13 +1957,15 @@ ...@@ -1967,13 +1957,15 @@
2016-09-28 [d3cd36a13] Make to_timestamp() and to_date() range-check fields of 2016-09-28 [d3cd36a13] Make to_timestamp() and to_date() range-check fields of
--> -->
<para> <para>
Have <function>to_timestamp()</> and <function>to_date()</> check Make <function>to_timestamp()</> and <function>to_date()</> reject
input values for validity (Artur Zakirov) out-of-range input fields (Artur Zakirov)
</para> </para>
<para> <para>
Previously <function>to_date('2009-06-40','YYYY-MM-DD')</> was For example,
accepted and returned '2009-07-10'. It will now generate an error. previously <literal>to_date('2009-06-40','YYYY-MM-DD')</> was
accepted and returned <literal>2009-07-10</>. It will now generate
an error.
</para> </para>
</listitem> </listitem>
...@@ -1991,12 +1983,13 @@ ...@@ -1991,12 +1983,13 @@
2017-03-27 [70ec3f1f8] PL/Python: Add cursor and execute methods to plan object 2017-03-27 [70ec3f1f8] PL/Python: Add cursor and execute methods to plan object
--> -->
<para> <para>
Allow the PL/Python plan object to call cursor and execute methods Allow PL/Python's <function>cursor()</> and <function>execute()</>
functions to be called as methods of their plan-object arguments
(Peter Eisentraut) (Peter Eisentraut)
</para> </para>
<para> <para>
This is a more object oriented style. This allows a more object-oriented programming style.
</para> </para>
</listitem> </listitem>
...@@ -2005,24 +1998,13 @@ ...@@ -2005,24 +1998,13 @@
2016-12-13 [55caaaeba] Improve handling of array elements as getdiag_targets an 2016-12-13 [55caaaeba] Improve handling of array elements as getdiag_targets an
--> -->
<para> <para>
Allow PL/pgSQL's <command>GET DIAGNOSTICS</> to retrieve values Allow PL/pgSQL's <command>GET DIAGNOSTICS</> statement to retrieve
into array elements (Tom Lane) values into array elements (Tom Lane)
</para>
</listitem>
<listitem>
<!--
2016-11-08 [1833f1a1c] Simplify code by getting rid of SPI_push, SPI_pop, SPI_r
-->
<para>
Remove <acronym>SPI</> functions <function>SPI_push()</>,
<function>SPI_pop()</>, <function>SPI_restore_connection()</>
as unnecessary (Tom Lane)
</para> </para>
<para> <para>
Their functionality now happens automatically. Also, Previously, a syntactic restriction prevented the target variable
<function>SPI_palloc()</> now requires an active connection. from being an array element.
</para> </para>
</listitem> </listitem>
...@@ -2062,13 +2044,9 @@ ...@@ -2062,13 +2044,9 @@
2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl. 2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl.
--> -->
<para> <para>
Add <acronym>GUC</>s to allow initialization routines to be called Add server parameters <xref linkend="guc-pltcl-start-proc">
on PL/Tcl startup (Tom Lane) and <xref linkend="guc-pltclu-start-proc">, to allow initialization
</para> functions to be called on PL/Tcl startup (Tom Lane)
<para>
The <acronym>GUC</>s are <varname>pltcl.start_proc</> and
<varname>pltclu.start_proc</>.
</para> </para>
</listitem> </listitem>
...@@ -2104,14 +2082,15 @@ ...@@ -2104,14 +2082,15 @@
2016-11-29 [721f7bd3c] libpq: Add target_session_attrs parameter. 2016-11-29 [721f7bd3c] libpq: Add target_session_attrs parameter.
--> -->
<para> <para>
Allow the libpq connection string to request a <link Allow libpq connection strings and URIs to request a <link
linkend="libpq-connect-target-session-attrs">read/write host</> linkend="libpq-connect-target-session-attrs">read/write host</>,
that is a master server rather than a standby server
(Victor Wagner, Mithun Cy) (Victor Wagner, Mithun Cy)
</para> </para>
<para> <para>
This is useful when multiple libpq host names are This is useful when multiple host names are
specified, and is controlled by libpq connection parameter specified. It is controlled by libpq connection parameter
<option>target_session_attrs</>. <option>target_session_attrs</>.
</para> </para>
</listitem> </listitem>
...@@ -2121,7 +2100,7 @@ ...@@ -2121,7 +2100,7 @@
2017-01-24 [ba005f193] Allow password file name to be specified as a libpq conn 2017-01-24 [ba005f193] Allow password file name to be specified as a libpq conn
--> -->
<para> <para>
Allow <link linkend="libpq-connect-passfile">password file name</> Allow the <link linkend="libpq-connect-passfile">password file name</>
to be specified as a libpq connection parameter (Julian Markwort) to be specified as a libpq connection parameter (Julian Markwort)
</para> </para>
...@@ -2138,14 +2117,16 @@ ...@@ -2138,14 +2117,16 @@
Add function <link Add function <link
linkend="libpq-pqencryptpasswordconn"><function>PQencryptPasswordConn()</></> linkend="libpq-pqencryptpasswordconn"><function>PQencryptPasswordConn()</></>
to allow creation of more types of encrypted passwords on the to allow creation of more types of encrypted passwords on the
client-side (Michael Paquier, Heikki Linnakangas) client side (Michael Paquier, Heikki Linnakangas)
</para> </para>
<para> <para>
Previously only <literal>MD5</> passwords could be created using <link Previously only <literal>MD5</>-encrypted passwords could be created
using <link
linkend="libpq-pqencryptpassword"><function>PQencryptPassword()</></>. linkend="libpq-pqencryptpassword"><function>PQencryptPassword()</></>.
This new function can also create <link This new function can also create <link
linkend="auth-pg-hba-conf"><literal>SCRAM-SHA-256</></> passwords. linkend="auth-pg-hba-conf"><literal>SCRAM-SHA-256</></>-encrypted
passwords.
</para> </para>
</listitem> </listitem>
...@@ -2154,12 +2135,13 @@ ...@@ -2154,12 +2135,13 @@
2016-08-16 [a7b5573d6] Remove separate version numbering for ecpg preprocessor. 2016-08-16 [a7b5573d6] Remove separate version numbering for ecpg preprocessor.
--> -->
<para> <para>
ecpg preprocessor version changed from 4.12 to 10 (Tom Lane) Change <application>ecpg</> preprocessor version from 4.12 to 10
(Tom Lane)
</para> </para>
<para> <para>
The ecpg version now matches the PostgreSQL distribution version Henceforth the <application>ecpg</> version will match
number. the <productname>PostgreSQL</> distribution version number.
</para> </para>
</listitem> </listitem>
...@@ -2187,8 +2169,9 @@ ...@@ -2187,8 +2169,9 @@
</para> </para>
<para> <para>
The new syntax uses \if, \elif, \else, and \endif. This is This feature adds <application>psql</>
particularly helpful for scripting. meta-commands <command>\if</>, <command>\elif</>, <command>\else</>,
and <command>\endif</>. This is primarily helpful for scripting.
</para> </para>
</listitem> </listitem>
...@@ -2197,8 +2180,9 @@ ...@@ -2197,8 +2180,9 @@
2017-03-07 [b2678efd4] psql: Add \gx command 2017-03-07 [b2678efd4] psql: Add \gx command
--> -->
<para> <para>
Add <application>psql</> \gx command to perform \g(execute) Add <application>psql</> <command>\gx</> meta-command to execute
in expanded mode (\x) (Christoph Berg) (<command>\g</>) a query in expanded mode (<command>\x</>)
(Christoph Berg)
</para> </para>
</listitem> </listitem>
...@@ -2207,13 +2191,14 @@ ...@@ -2207,13 +2191,14 @@
2016-11-03 [a0f357e57] psql: Split up "Modifiers" column in \d and \dD 2016-11-03 [a0f357e57] psql: Split up "Modifiers" column in \d and \dD
--> -->
<para> <para>
Improve <application>psql</>'s \d (relation) and \dD (domain) Improve <application>psql</>'s <command>\d</> (display relation)
commands to specify collation, nullable, and default in separate and <command>\dD</> (display domain) commands to show collation,
columns (Peter Eisentraut) nullable, and default properties in separate columns (Peter
Eisentraut)
</para> </para>
<para> <para>
Previous they were in a single "Modifiers" column. Previous they were shown in a single <quote>Modifiers</> column.
</para> </para>
</listitem> </listitem>
...@@ -2222,13 +2207,13 @@ ...@@ -2222,13 +2207,13 @@
2017-04-01 [f833c847b] Allow psql variable substitution to occur in backtick co 2017-04-01 [f833c847b] Allow psql variable substitution to occur in backtick co
--> -->
<para> <para>
Expand <application>psql</> colon variables when used in Expand <application>psql</> variable references in
backtick-executed contexts (Tom Lane) backtick-executed strings (Tom Lane)
</para> </para>
<para> <para>
This is particularly useful for the new <application>psql</> This is particularly useful in the new <application>psql</>
conditional branch support commands. conditional branch commands.
</para> </para>
</listitem> </listitem>
...@@ -2239,17 +2224,23 @@ ...@@ -2239,17 +2224,23 @@
2017-02-02 [fd6cd6980] Clean up psql's behavior for a few more control variable 2017-02-02 [fd6cd6980] Clean up psql's behavior for a few more control variable
--> -->
<para> <para>
Prevent <application>psql</> special variables from being set to Prevent <application>psql</>'s special variables from being set to
invalid values (Daniel V&eacute;rit&eacute;, Tom Lane) invalid values (Daniel V&eacute;rit&eacute;, Tom Lane)
</para> </para>
<para> <para>
Previously setting <application>psql</> special variables Previously, setting one of <application>psql</>'s special variables
to invalid values produced the default behavior. \set and to an invalid value silently resulted in the default behavior.
\unset of special variables now sets them to "on" and its <command>\set</> on a special variable now fails if the proposed
default value, rather than a zero-length string and undefined. new value is invalid. As a special exception, <command>\set</>
Also have \set always display values for <literal>FETCH_COUNT</>, with an empty or omitted new value, on a boolean-valued special
<literal>HISTSIZE</>, and <literal>IGNOREEOF</>. variable, still has the effect of setting the variable
to <literal>on</>; but now it actually acquires that value rather
than an empty string. <command>\unset</> on a special variable now
explicitly sets the variable to its default value, which is also
the value it acquires at startup. In sum, a control variable now
always has a displayable value that reflects
what <application>psql</> is actually doing.
</para> </para>
</listitem> </listitem>
...@@ -2287,8 +2278,8 @@ ...@@ -2287,8 +2278,8 @@
2016-11-09 [41124a91e] pgbench: Allow the transaction log file prefix to be cha 2016-11-09 [41124a91e] pgbench: Allow the transaction log file prefix to be cha
--> -->
<para> <para>
Add pgbench option <option>--log-prefix</> to control the log Add <application>pgbench</> option <option>--log-prefix</> to
file prefix (Masahiko Sawada) control the log file prefix (Masahiko Sawada)
</para> </para>
</listitem> </listitem>
...@@ -2297,8 +2288,13 @@ ...@@ -2297,8 +2288,13 @@
2017-01-20 [cdc2a7047] Allow backslash line continuations in pgbench's meta com 2017-01-20 [cdc2a7047] Allow backslash line continuations in pgbench's meta com
--> -->
<para> <para>
Allow pgbench's meta commands to span multiple lines via a Allow <application>pgbench</>'s meta-commands to span multiple
line-terminating backslash (Fabien Coelho) lines (Fabien Coelho)
</para>
<para>
A meta-command can now be continued onto the next line by writing
backslash-return.
</para> </para>
</listitem> </listitem>
...@@ -2320,7 +2316,7 @@ ...@@ -2320,7 +2316,7 @@
<para> <para>
Add <link Add <link
linkend="app-pgreceivewal"><application>pg_receivewal</></> linkend="app-pgreceivewal"><application>pg_receivewal</></>
option <option>-Z</>/<option>--compress</> to support compression option <option>-Z</>/<option>--compress</> to specify compression
(Michael Paquier) (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2332,7 +2328,7 @@ ...@@ -2332,7 +2328,7 @@
<para> <para>
Add <link Add <link
linkend="app-pgrecvlogical"><application>pg_recvlogical</></> option linkend="app-pgrecvlogical"><application>pg_recvlogical</></> option
(<option>--endpos</>) to specify the ending position (Craig Ringer) <option>--endpos</> to specify the ending position (Craig Ringer)
</para> </para>
<para> <para>
...@@ -2359,7 +2355,8 @@ ...@@ -2359,7 +2355,8 @@
</itemizedlist> </itemizedlist>
<sect4> <sect4>
<title><link linkend="APP-PGDUMP"><application>pg_dump</></>, <link linkend="APP-PG-DUMPALL"><application>pg_dumpall</></>. <title><link linkend="APP-PGDUMP"><application>pg_dump</></>,
<link linkend="APP-PG-DUMPALL"><application>pg_dumpall</></>,
<link linkend="APP-PGRESTORE"><application>pg_restore</></></title> <link linkend="APP-PGRESTORE"><application>pg_restore</></></title>
<itemizedlist> <itemizedlist>
...@@ -2373,7 +2370,7 @@ ...@@ -2373,7 +2370,7 @@
</para> </para>
<para> <para>
This added a new <option>-N</>/<option>--exclude-schema</> option. This adds a new <option>-N</>/<option>--exclude-schema</> option.
</para> </para>
</listitem> </listitem>
...@@ -2387,7 +2384,7 @@ ...@@ -2387,7 +2384,7 @@
</para> </para>
<para> <para>
This suppresses the dumping of large objects. This suppresses dumping of large objects.
</para> </para>
</listitem> </listitem>
...@@ -2397,12 +2394,13 @@ ...@@ -2397,12 +2394,13 @@
--> -->
<para> <para>
Add <application>pg_dumpall</> option Add <application>pg_dumpall</> option
<option>--no-role-passwords</> to dump roles without user passwords <option>--no-role-passwords</> to omit role passwords
(Robins Tharakan, Simon Riggs) (Robins Tharakan, Simon Riggs)
</para> </para>
<para> <para>
This allows easier dumping for less-privileged users. This allows use of <application>pg_dumpall</> by non-superusers;
without this option, it fails due to inability to read passwords.
</para> </para>
</listitem> </listitem>
...@@ -2411,13 +2409,15 @@ ...@@ -2411,13 +2409,15 @@
2017-03-22 [96a7128b7] Sync pg_dump and pg_dumpall output 2017-03-22 [96a7128b7] Sync pg_dump and pg_dumpall output
--> -->
<para> <para>
Issue fsync on the output files generated by Issue <function>fsync()</> on the output files generated by
<application>pg_dump</> and <application>pg_dump</> and
<application>pg_dumpall</> (Michael Paquier) <application>pg_dumpall</> (Michael Paquier)
</para> </para>
<para> <para>
This can be disabled with the <option>--no-sync</> option. This provides more security that the output is safely stored on
disk before the program exits. This can be disabled with
the new <option>--no-sync</> option.
</para> </para>
</listitem> </listitem>
...@@ -2466,15 +2466,22 @@ ...@@ -2466,15 +2466,22 @@
<listitem> <listitem>
<!-- <!--
2016-09-29 [bc34223bc] pg_basebackup pg_receivexlog: Issue fsync more carefully 2016-09-29 [bc34223bc] pg_basebackup pg_receivexlog: Issue fsync more carefully
2016-09-29 [6ed2d8584] pg_basebackup: Add -\-nosync option
--> -->
<para> <para>
Improve fsync handling of <application>pg_basebackup</> and Be more careful about fsync'ing in all required places
in <application>pg_basebackup</> and
<application>pg_receivewal</> (Michael Paquier) <application>pg_receivewal</> (Michael Paquier)
</para> </para>
</listitem>
<listitem>
<!--
2016-09-29 [6ed2d8584] pg_basebackup: Add -\-nosync option
2016-10-19 [5d58c07a4] initdb pg_basebackup: Rename -\-noxxx options to -\-no-x
-->
<para> <para>
Also add <option>--nosync</> option to disable fsync. Add <application>pg_basebackup</> option <option>--no-sync</> to
disable fsync (Michael Paquier)
</para> </para>
</listitem> </listitem>
...@@ -2486,10 +2493,6 @@ ...@@ -2486,10 +2493,6 @@
Improve <application>pg_basebackup</>'s handling of which Improve <application>pg_basebackup</>'s handling of which
directories to skip (David Steele) directories to skip (David Steele)
</para> </para>
<para>
Also improve the documentation of skipped directories.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -2598,13 +2601,19 @@ ...@@ -2598,13 +2601,19 @@
2016-08-15 [ca9112a42] Stamp HEAD as 10devel. 2016-08-15 [ca9112a42] Stamp HEAD as 10devel.
--> -->
<para> <para>
New major version numbering (Peter Eisentraut, Tom Lane) Change to two-part release version numbering (Peter Eisentraut, Tom
Lane)
</para> </para>
<para> <para>
Release numbers will now have two parts (e.g., <literal>10.1</>)
rather than three (e.g., <literal>9.6.3</>).
Major versions will now increase just the first number, and minor Major versions will now increase just the first number, and minor
releases will increase just the second number. A third number releases will increase just the second number.
will no longer be used in PostgreSQL version numbers. Release branches will be referred to by single numbers
(e.g., <literal>10</> rather than <literal>9.6</>).
This change is intended to reduce user confusion about what is a
major or minor release of <productname>PostgreSQL</>.
</para> </para>
</listitem> </listitem>
...@@ -2669,6 +2678,32 @@ ...@@ -2669,6 +2678,32 @@
<listitem> <listitem>
<!-- <!--
2016-11-08 [1833f1a1c] Simplify code by getting rid of SPI_push, SPI_pop, SPI_r
-->
<para>
Remove <acronym>SPI</> functions <function>SPI_push()</>,
<function>SPI_pop()</>, <function>SPI_push_conditional()</>,
<function>SPI_pop_conditional()</>,
and <function>SPI_restore_connection()</> as unnecessary (Tom Lane)
</para>
<para>
Their functionality now happens automatically. There are now no-op
macros by these names so that external modules don't need to be
updated immediately, but eventually such calls should be removed.
</para>
<para>
A side effect of this change is that <function>SPI_palloc()</> and
allied functions now require an active SPI connection; they do not
degenerate to simple <function>palloc()</> if there is none. That
previous behavior was not very useful and posed risks of unexpected
memory leaks.
</para>
</listitem>
<listitem>
<!--
2016-12-02 [13e14a78e] Management of free memory pages. 2016-12-02 [13e14a78e] Management of free memory pages.
2016-12-02 [13df76a53] Introduce dynamic shared memory areas. 2016-12-02 [13df76a53] Introduce dynamic shared memory areas.
2016-12-19 [e13029a5c] Provide a DSA area for all parallel queries. 2016-12-19 [e13029a5c] Provide a DSA area for all parallel queries.
...@@ -2700,7 +2735,7 @@ ...@@ -2700,7 +2735,7 @@
</para> </para>
<para> <para>
This avoids some limits on SysV semaphore usage. This avoids platform-specific limits on SysV semaphore usage.
</para> </para>
</listitem> </listitem>
...@@ -2733,8 +2768,8 @@ ...@@ -2733,8 +2768,8 @@
</para> </para>
<para> <para>
<function>gettimeofday()</> is used if <function>clock_gettime()</> <function>gettimeofday()</> is still used
is not available. if <function>clock_gettime()</> is not available.
</para> </para>
</listitem> </listitem>
...@@ -2745,21 +2780,31 @@ ...@@ -2745,21 +2780,31 @@
--> -->
<para> <para>
Add more robust random number generators to be used for Add more robust random number generators to be used for
cryptographic secure uses (Magnus Hagander, Michael Paquier, cryptographically secure uses (Magnus Hagander, Michael Paquier,
Heikki Linnakangas) Heikki Linnakangas)
</para> </para>
<para> <para>
If no strong random number generator can be found, configure If no strong random number generator can be found, configure will
will fail unless the <link linkend="configure">configure</> fail unless the <link linkend="configure">configure</>
<option>--disable-strong-random</> is used. However, with this option <option>--disable-strong-random</> is used. However, with
option, pgcrypto functions requiring a strong random number this option, pgcrypto functions requiring a strong random number
generator will be disabled. generator will be disabled.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2016-10-11 [2b860f52e] Remove "sco" and "unixware" ports.
-->
<para>
Remove <systemitem class="osname">SCO</> and <systemitem
class="osname">Unixware</> ports (Tom Lane)
</para>
</listitem>
<listitem>
<!--
2016-08-18 [e8306745e] doc: Speed up XSLT builds 2016-08-18 [e8306745e] doc: Speed up XSLT builds
2016-08-24 [0e4cc1fc5] doc: Fix XSLT speedup with older upstream stylesheet ver 2016-08-24 [0e4cc1fc5] doc: Fix XSLT speedup with older upstream stylesheet ver
--> -->
...@@ -2774,8 +2819,8 @@ ...@@ -2774,8 +2819,8 @@
2017-04-06 [510074f9f] Remove use of Jade and DSSSL 2017-04-06 [510074f9f] Remove use of Jade and DSSSL
--> -->
<para> <para>
Use <acronym>XSLT</> to build the PostgreSQL documentation (Peter Use <acronym>XSLT</> to build the <productname>PostgreSQL</>
Eisentraut) documentation (Peter Eisentraut)
</para> </para>
<para> <para>
...@@ -2827,7 +2872,7 @@ ...@@ -2827,7 +2872,7 @@
This reduces the amount of data that must be passed This reduces the amount of data that must be passed
from the foreign data wrapper server, and offloads from the foreign data wrapper server, and offloads
aggregate computation from the requesting server. The <link aggregate computation from the requesting server. The <link
linkend="postgres-fdw"><application>postgres_fdw</></> is able to linkend="postgres-fdw"><application>postgres_fdw</></> FDW is able to
perform this optimization. There are also improvements in perform this optimization. There are also improvements in
pushing down joins involving extensions. pushing down joins involving extensions.
</para> </para>
...@@ -2932,7 +2977,7 @@ ...@@ -2932,7 +2977,7 @@
</para> </para>
<para> <para>
This allows it be less disruptive when run on production systems. This allows it to be less disruptive when run on production systems.
</para> </para>
</listitem> </listitem>
...@@ -2941,9 +2986,9 @@ ...@@ -2941,9 +2986,9 @@
2017-02-03 [e759854a0] pgstattuple: Add pgstathashindex. 2017-02-03 [e759854a0] pgstattuple: Add pgstathashindex.
--> -->
<para> <para>
Add <function>pgstathashindex()</> function to <link Add <link linkend="pgstattuple"><application>pgstattuple</></>
linkend="pgstattuple"><application>pgstattuple</></> to view hash function <function>pgstathashindex()</> to view hash index
index statistics (Ashutosh Sharma) statistics (Ashutosh Sharma)
</para> </para>
</listitem> </listitem>
...@@ -2952,13 +2997,12 @@ ...@@ -2952,13 +2997,12 @@
2016-09-29 [fd321a1df] Remove superuser checks in pgstattuple 2016-09-29 [fd321a1df] Remove superuser checks in pgstattuple
--> -->
<para> <para>
Allow <link linkend="pgstattuple"><application>pgstattuple</></> Use <command>GRANT</> permissions to
to use <command>GRANT</> permissions (Stephen Frost) control <application>pgstattuple</> function usage (Stephen Frost)
</para> </para>
<para> <para>
This allows non-superusers to run these functions if permissions This allows DBAs to allow non-superusers to run these functions.
allow.
</para> </para>
</listitem> </listitem>
...@@ -2967,8 +3011,7 @@ ...@@ -2967,8 +3011,7 @@
2016-10-28 [d4b5d4cad] pgstattuple: Don't take heavyweight locks when examining 2016-10-28 [d4b5d4cad] pgstattuple: Don't take heavyweight locks when examining
--> -->
<para> <para>
Reduce locking when <link Reduce locking when <application>pgstattuple</> examines hash
linkend="pgstattuple"><application>pgstattuple</></> examines hash
indexes (Amit Kapila) indexes (Amit Kapila)
</para> </para>
</listitem> </listitem>
...@@ -2978,34 +3021,30 @@ ...@@ -2978,34 +3021,30 @@
2017-03-17 [fef2bcdcb] pageinspect: Add page_checksum function 2017-03-17 [fef2bcdcb] pageinspect: Add page_checksum function
--> -->
<para> <para>
Add <function>page_checksum()</> function to <link Add <link linkend="pageinspect"><application>pageinspect</></>
linkend="pageinspect"><application>pageinspect</></> (Tomas Vondra) function <function>page_checksum()</> to show a page's checksum
(Tomas Vondra)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-02-02 [08bf6e529] pageinspect: Support hash indexes. 2017-04-04 [193f5f9e9] pageinspect: Add bt_page_items function with bytea argum
--> -->
<para> <para>
Add hash index support to <link Add <application>pageinspect</>
linkend="pageinspect"><application>pageinspect</></> (Jesper function <function>bt_page_items()</> to print page items from a
Pedersen, Ashutosh Sharma) page image (Tomas Vondra)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
2017-04-04 [193f5f9e9] pageinspect: Add bt_page_items function with bytea argum 2017-02-02 [08bf6e529] pageinspect: Support hash indexes.
--> -->
<para> <para>
Add <link linkend="pageinspect"><application>pageinspect</></> Add hash index support to <application>pageinspect</> (Jesper
function <function>bt_page_items()</> to print page items from a Pedersen, Ashutosh Sharma)
page image (Tomas Vondra)
</para>
<para>
Previously only block numbers were supported.
</para> </para>
</listitem> </listitem>
......
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