aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/release-9.6.sgml624
1 files changed, 330 insertions, 294 deletions
diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml
index 9003b1f6e4f..8d7356e27fc 100644
--- a/doc/src/sgml/release-9.6.sgml
+++ b/doc/src/sgml/release-9.6.sgml
@@ -401,7 +401,7 @@ This commit is also listed under libpq and psql
<para>
Allow <link linkend="GIN"><acronym>GIN</></> index builds to
make effective use of <xref linkend="guc-maintenance-work-mem">
- settings larger than 1GB (Robert Abraham, Teodor Sigaev)
+ settings larger than 1 GB (Robert Abraham, Teodor Sigaev)
</para>
</listitem>
@@ -467,7 +467,217 @@ This commit is also listed under libpq and psql
</sect4>
<sect4>
- <title>General Performance</title>
+ <title>Sorting</title>
+
+ <itemizedlist>
+
+ <listitem>
+<!--
+2016-04-08 [071180377] Use quicksort, not replacement selection, for external s
+2016-03-17 [0011c0091] Improve memory management for external sorts.
+-->
+ <para>
+ Improve sorting performance by using quicksort, not replacement
+ selection sort, when performing external sort steps (Peter
+ Geoghegan)
+ </para>
+
+ <para>
+ The new approach makes better use of the <acronym>CPU</> cache
+ for typical cache sizes and data volumes. Where necessary,
+ the behavior can be adjusted via the new configuration parameter
+ <xref linkend="guc-replacement-sort-tuples">.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2015-10-09 [0e57b4d8b] Speed up text sorts where the same strings occur multipl
+2015-10-20 [5be94a9eb] Be a bit more rigorous about how we cache strcoll and st
+-->
+ <para>
+ Speed up text sorts where the same string occurs multiple times
+ (Peter Geoghegan)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2015-11-06 [a76ef15d9] Add sort support routine for the UUID data type.
+2016-02-03 [b47b4dbf6] Extend sortsupport for text to more opclasses.
+2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates.
+-->
+ <para>
+ Speed up sorting of <type>uuid</>, <type>bytea</>, and
+ <type>char(n)</> fields by using <quote>abbreviated</> keys
+ (Peter Geoghegan)
+ </para>
+
+ <para>
+ Support for abbreviated keys has also been
+ added to the non-default operator classes <link
+ linkend="indexes-opclass"><literal>text_pattern_ops</></>,
+ <literal>varchar_pattern_ops</>, and
+ <literal>bpchar_pattern_ops</>. Processing of ordered-set
+ aggregates can also now exploit abbreviated keys.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2015-12-16 [b648b7034] Speed up CREATE INDEX CONCURRENTLY's TID sort.
+-->
+ <para>
+ Speed up <command>CREATE INDEX CONCURRENTLY</> by treating
+ <acronym>TID</>s as 64-bit integers during sorting (Peter
+ Geoghegan)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4>
+ <title>Locking</title>
+
+ <itemizedlist>
+
+ <listitem>
+<!--
+2015-08-06 [0e141c0fb] Reduce ProcArrayLock contention by removing backends in
+2015-09-03 [4aec49899] Assorted code review for recent ProcArrayLock patch.
+-->
+ <para>
+ Reduce contention for the <literal>ProcArrayLock</> (Amit Kapila,
+ Robert Haas)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2015-12-15 [6150a1b08] Move buffer I/O and content LWLocks out of the main tran
+-->
+ <para>
+ Improve performance by moving buffer content locks into the buffer
+ descriptors (Andres Freund, Simon Riggs)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-04-10 [48354581a] Allow Pin/UnpinBuffer to operate in a lockfree manner.
+-->
+ <para>
+ Replace shared-buffer header spinlocks with atomic operations to
+ improve scalability (Alexander Korotkov, Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-04-10 [008608b9d] Avoid the use of a separate spinlock to protect a LWLock
+-->
+ <para>
+ Use atomic operations, rather than a spinlock, to protect an
+ <literal>LWLock</>'s wait queue (Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-03-23 [44ca4022f] Partition the freelist for shared dynahash tables.
+-->
+ <para>
+ Partition the shared hash table freelist to reduce contention on
+ multi-<acronym>CPU</>-socket servers (Aleksander Alekseev)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-01-09 [687f2cd7a] Avoid pin scan for replay of XLOG_BTREE_VACUUM
+2016-04-03 [3e4b7d879] Avoid pin scan for replay of XLOG_BTREE_VACUUM in all ca
+-->
+ <para>
+ Reduce interlocking on standby servers during the replay of btree
+ index vacuuming operations (Simon Riggs)
+ </para>
+
+ <para>
+ This change avoids substantial replication delays that sometimes
+ occurred while replaying such operations.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4>
+ <title>Optimizer Statistics</title>
+
+ <itemizedlist>
+
+ <listitem>
+<!--
+2016-04-01 [be4b4dc75] Omit null rows when applying the Haas-Stokes estimator f
+2016-04-01 [3d3bf62f3] Omit null rows when setting the threshold for what's a m
+2016-04-04 [391159e03] Partially revert commit 3d3bf62f30200500637b24fdb7b992a9
+-->
+ <para>
+ Improve <command>ANALYZE</>'s estimates for columns with many nulls
+ (Tomas Vondra, Alex Shulgin)
+ </para>
+
+ <para>
+ Previously <command>ANALYZE</> tended to underestimate the number
+ of non-<literal>NULL</> distinct values in a column with many
+ <literal>NULL</>s, and was also inaccurate in computing the
+ most-common values.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-04-04 [84f9a35e3] Improve estimate of distinct values in estimate_num_grou
+-->
+ <para>
+ Improve planner's estimate of the number of distinct values in
+ a query result (Tomas Vondra)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+2016-04-08 [137805f89] Use Foreign Key relationships to infer multi-column join
+2016-06-07 [77ba61080] Revert "Use Foreign Key relationships to infer multi-col
+2016-06-18 [100340e2d] Restore foreign-key-aware estimation of join relation si
+-->
+ <para>
+ Use foreign key relationships to infer selectivity for join
+ predicates (Tomas Vondra, David Rowley)
+ </para>
+
+ <para>
+ If a table <literal>t</> has a foreign key restriction, say
+ <literal>(a,b) REFERENCES r (x,y)</>, then a <literal>WHERE</>
+ condition such as <literal>t.a = r.x AND t.b = r.y</> cannot
+ select more than one <literal>r</> row per <literal>t</> row.
+ The planner formerly considered <literal>AND</> conditions
+ to be independent and would often drastically misestimate
+ selectivity as a result. Now it compares the <literal>WHERE</>
+ conditions to applicable foreign key constraints and produces
+ better estimates.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4>
+ <title><command>VACUUM</></title>
<itemizedlist>
@@ -519,19 +729,40 @@ This commit is also listed under libpq and psql
</para>
</listitem>
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4>
+ <title>General Performance</title>
+
+ <itemizedlist>
+
<listitem>
<!--
-2016-01-09 [687f2cd7a] Avoid pin scan for replay of XLOG_BTREE_VACUUM
-2016-04-03 [3e4b7d879] Avoid pin scan for replay of XLOG_BTREE_VACUUM in all ca
+2016-04-08 [848ef42bb] Add the "snapshot too old" feature
+2016-05-06 [2cc41acd8] Fix hash index vs "snapshot too old" problemms
+2016-05-06 [7e3da1c47] Mitigate "snapshot too old" performance regression on NU
+2016-08-03 [3e2f3c2e4] Prevent "snapshot too old" from trying to return pruned
+2016-08-07 [9ee1cf04a] Fix TOAST access failure in RETURNING queries.
-->
<para>
- Reduce interlocking on standby servers during the replay of btree
- index vacuuming operations (Simon Riggs)
+ Allow old <acronym>MVCC</> snapshots to be invalidated after a
+ configurable timeout (Kevin Grittner)
</para>
<para>
- This change avoids substantial replication delays that sometimes
- occurre while replaying such operations.
+ Normally, deleted tuples cannot be physically removed by
+ vacuuming until the last transaction that could <quote>see</>
+ them is gone. A transaction that stays open for a long
+ time can thus cause considerable table bloat because
+ space cannot be recycled. This feature allows setting
+ a time-based limit, via the new configuration parameter
+ <xref linkend="guc-old-snapshot-threshold">, on how long an
+ <acronym>MVCC</> snapshot is guaranteed to be valid. After that,
+ dead tuples are candidates for removal. A transaction using an
+ outdated snapshot will get an error if it attempts to read a page
+ that potentially could have contained such data.
</para>
</listitem>
@@ -576,46 +807,23 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-03-10 [428b1d6b2] Allow to trigger kernel writeback after a configurable n
-2016-04-13 [fa11a09fe] Fix assorted portability issues with using msync() for d
-2016-04-24 [8f91d87d4] Fix documentation & config inconsistencies around 428b1d
-2016-04-26 [72a98a639] Don't open formally non-existent segments in _mdfd_getse
-2016-05-04 [a71248708] Fix transient mdsync() errors of truncated relations due
-2016-02-16 [7975c5e0a] Allow the WAL writer to flush WAL at a reduced rate.
-2016-06-10 [4bc0f165c] Change default of backend_flush_after GUC to 0 (disabled
+2016-03-31 [f9aefcb91] Support using index-only scans with partial indexes in m
-->
<para>
- Where feasible, trigger kernel writeback after a configurable
- number of writes, to prevent accumulation of dirty data in kernel
- disk buffers (Fabien Coelho, Andres Freund)
- </para>
-
- <para>
- <productname>PostgreSQL</> writes data to the kernel's disk cache,
- from where it will be flushed to physical storage in due time.
- Many operating systems are not smart about managing this and allow
- large amounts of dirty data to accumulate before deciding to flush
- it all at once, leading to long delays for new I/O requests.
- This change attempts to alleviate this problem by explicitly
- requesting data flushes after a configurable interval.
+ Allow use of an <link linkend="indexes-index-only-scans">index-only
+ scan</link> on a partial index when the index's <literal>WHERE</>
+ clause references columns which are not indexed (Tomas Vondra,
+ Kyotaro Horiguchi)
</para>
<para>
- On Linux, <function>sync_file_range()</> is used for this purpose,
- and the feature is on by default on Linux because that function has few
- downsides. This sync capability is also available on other platforms
- that have <function>msync()</> or <function>posix_fadvise()</>,
- but those interfaces have some undesirable side-effects so the
- feature is disabled by default on non-Linux platforms.
+ For example, <command>CREATE INDEX tidx_partial ON t(b) WHERE a
+ &gt; 0</> could not previously be used for an index-only scan by a
+ query that only referenced <literal>a</> in its <literal>WHERE</>
+ clause because <literal>a</> is not an indexed value like
+ <literal>b</> is.
</para>
- <para>
- The new configuration parameters <xref
- linkend="guc-backend-flush-after">, <xref
- linkend="guc-bgwriter-flush-after">, <xref
- linkend="guc-checkpoint-flush-after">, and <xref
- linkend="guc-wal-writer-flush-after"> control this behavior.
- </para>
</listitem>
<listitem>
@@ -638,74 +846,45 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-04-08 [848ef42bb] Add the "snapshot too old" feature
-2016-05-06 [2cc41acd8] Fix hash index vs "snapshot too old" problemms
-2016-05-06 [7e3da1c47] Mitigate "snapshot too old" performance regression on NU
-2016-08-03 [3e2f3c2e4] Prevent "snapshot too old" from trying to return pruned
-2016-08-07 [9ee1cf04a] Fix TOAST access failure in RETURNING queries.
--->
- <para>
- Allow old <acronym>MVCC</> snapshots to be invalidated after a
- configurable timeout (Kevin Grittner)
- </para>
-
- <para>
- Normally, deleted tuples cannot be physically removed by
- vacuuming until the last transaction that could <quote>see</>
- them is gone. A transaction that stays open for a long
- time can thus cause considerable table bloat because
- space cannot be recycled. This feature allows setting
- a time-based limit, via the new configuration parameter
- <xref linkend="guc-old-snapshot-threshold">, on how long an
- <acronym>MVCC</> snapshot is guaranteed to be valid. After that,
- dead tuples are candidates for removal. A transaction using an
- outdated snapshot will get an error if it attempts to read a page
- that potentially could have contained such data.
- </para>
- </listitem>
-
- <listitem>
-<!--
-2016-03-31 [f9aefcb91] Support using index-only scans with partial indexes in m
+2016-03-10 [428b1d6b2] Allow to trigger kernel writeback after a configurable n
+2016-04-13 [fa11a09fe] Fix assorted portability issues with using msync() for d
+2016-04-24 [8f91d87d4] Fix documentation & config inconsistencies around 428b1d
+2016-04-26 [72a98a639] Don't open formally non-existent segments in _mdfd_getse
+2016-05-04 [a71248708] Fix transient mdsync() errors of truncated relations due
+2016-02-16 [7975c5e0a] Allow the WAL writer to flush WAL at a reduced rate.
+2016-06-10 [4bc0f165c] Change default of backend_flush_after GUC to 0 (disabled
-->
<para>
- Allow use of an <link linkend="indexes-index-only-scans">index-only
- scan</link> on a partial index when the index's <literal>WHERE</>
- clause references columns which are not indexed (Tomas Vondra,
- Kyotaro Horiguchi)
+ Where feasible, trigger kernel writeback after a configurable
+ number of writes, to prevent accumulation of dirty data in kernel
+ disk buffers (Fabien Coelho, Andres Freund)
</para>
<para>
- For example, <command>CREATE INDEX tidx_partial ON t(b) WHERE a
- &gt; 0</> could not previously be used for an index-only scan by a
- query that only referenced <literal>a</> in its <literal>WHERE</>
- clause because <literal>a</> is not an indexed value like
- <literal>b</> is.
+ <productname>PostgreSQL</> writes data to the kernel's disk cache,
+ from where it will be flushed to physical storage in due time.
+ Many operating systems are not smart about managing this and allow
+ large amounts of dirty data to accumulate before deciding to flush
+ it all at once, leading to long delays for new I/O requests.
+ This change attempts to alleviate this problem by explicitly
+ requesting data flushes after a configurable interval.
</para>
- </listitem>
-
- <listitem>
-<!--
-2016-04-08 [137805f89] Use Foreign Key relationships to infer multi-column join
-2016-06-07 [77ba61080] Revert "Use Foreign Key relationships to infer multi-col
-2016-06-18 [100340e2d] Restore foreign-key-aware estimation of join relation si
--->
<para>
- Use foreign key relationships to infer selectivity for join
- predicates (Tomas Vondra, David Rowley)
+ On Linux, <function>sync_file_range()</> is used for this purpose,
+ and the feature is on by default on Linux because that function has few
+ downsides. This sync capability is also available on other platforms
+ that have <function>msync()</> or <function>posix_fadvise()</>,
+ but those interfaces have some undesirable side-effects so the
+ feature is disabled by default on non-Linux platforms.
</para>
<para>
- If a table <literal>t</> has a foreign key restriction, say
- <literal>(a,b) REFERENCES r (x,y)</>, then a <literal>WHERE</>
- condition such as <literal>t.a = r.x AND t.b = r.y</> cannot
- select more than one <literal>r</> row per <literal>t</> row.
- The planner formerly considered <literal>AND</> conditions
- to be independent and would often drastically misestimate
- selectivity as a result. Now it compares the <literal>WHERE</>
- conditions to applicable foreign key constraints and produces
- better estimates.
+ The new configuration parameters <xref
+ linkend="guc-backend-flush-after">, <xref
+ linkend="guc-bgwriter-flush-after">, <xref
+ linkend="guc-checkpoint-flush-after">, and <xref
+ linkend="guc-wal-writer-flush-after"> control this behavior.
</para>
</listitem>
@@ -808,35 +987,6 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-04-01 [be4b4dc75] Omit null rows when applying the Haas-Stokes estimator f
-2016-04-01 [3d3bf62f3] Omit null rows when setting the threshold for what's a m
-2016-04-04 [391159e03] Partially revert commit 3d3bf62f30200500637b24fdb7b992a9
--->
- <para>
- Improve <command>ANALYZE</>'s estimates for columns with many nulls
- (Tomas Vondra, Alex Shulgin)
- </para>
-
- <para>
- Previously <command>ANALYZE</> tended to underestimate the number
- of non-<literal>NULL</> distinct values in a column with many
- <literal>NULL</>s, and was also inaccurate in computing the
- most-common values.
- </para>
- </listitem>
-
- <listitem>
-<!--
-2016-04-04 [84f9a35e3] Improve estimate of distinct values in estimate_num_grou
--->
- <para>
- Improve planner's estimate of the number of distinct values in
- a query result (Tomas Vondra)
- </para>
- </listitem>
-
- <listitem>
-<!--
2016-04-08 [719c84c1b] Extend relations multiple blocks at a time to improve sc
-->
<para>
@@ -851,69 +1001,6 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-04-08 [071180377] Use quicksort, not replacement selection, for external s
-2016-03-17 [0011c0091] Improve memory management for external sorts.
--->
- <para>
- Improve sorting performance by using quicksort, not replacement
- selection sort, when performing external sort steps (Peter
- Geoghegan)
- </para>
-
- <para>
- The new approach makes better use of the <acronym>CPU</> cache
- for typical cache sizes and data volumes. Where necessary,
- the behavior can be adjusted via the new configuration parameter
- <xref linkend="guc-replacement-sort-tuples">.
- </para>
- </listitem>
-
- <listitem>
-<!--
-2015-10-09 [0e57b4d8b] Speed up text sorts where the same strings occur multipl
-2015-10-20 [5be94a9eb] Be a bit more rigorous about how we cache strcoll and st
--->
- <para>
- Speed up text sorts where the same string occurs multiple times
- (Peter Geoghegan)
- </para>
- </listitem>
-
- <listitem>
-<!--
-2015-11-06 [a76ef15d9] Add sort support routine for the UUID data type.
-2016-02-03 [b47b4dbf6] Extend sortsupport for text to more opclasses.
-2016-02-17 [f1f5ec1ef] Reuse abbreviated keys in ordered [set] aggregates.
--->
- <para>
- Speed up sorting of <type>uuid</>, <type>bytea</>, and
- <type>char(n)</> fields by using <quote>abbreviated</> keys
- (Peter Geoghegan)
- </para>
-
- <para>
- Support for abbreviated keys has also been
- added to the non-default operator classes <link
- linkend="indexes-opclass"><literal>text_pattern_ops</></>,
- <literal>varchar_pattern_ops</>, and
- <literal>bpchar_pattern_ops</>. Processing of ordered-set
- aggregates can also now exploit abbreviated keys.
- </para>
- </listitem>
-
- <listitem>
-<!--
-2015-12-16 [b648b7034] Speed up CREATE INDEX CONCURRENTLY's TID sort.
--->
- <para>
- Speed up <command>CREATE INDEX CONCURRENTLY</> by treating
- <acronym>TID</>s as 64-bit integers during sorting (Peter
- Geoghegan)
- </para>
- </listitem>
-
- <listitem>
-<!--
2016-04-08 [5364b357f] Increase maximum number of clog buffers.
-->
<para>
@@ -924,57 +1011,6 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2015-08-06 [0e141c0fb] Reduce ProcArrayLock contention by removing backends in
-2015-09-03 [4aec49899] Assorted code review for recent ProcArrayLock patch.
--->
- <para>
- Reduce contention for the <literal>ProcArrayLock</> (Amit Kapila,
- Robert Haas)
- </para>
- </listitem>
-
- <listitem>
-<!--
-2015-12-15 [6150a1b08] Move buffer I/O and content LWLocks out of the main tran
--->
- <para>
- Improve performance by moving buffer content locks into the buffer
- descriptors (Andres Freund, Simon Riggs)
- </para>
- </listitem>
-
- <listitem>
-<!--
-2016-04-10 [48354581a] Allow Pin/UnpinBuffer to operate in a lockfree manner.
--->
- <para>
- Replace shared-buffer header spinlocks with atomic operations to
- improve scalability (Alexander Korotkov, Andres Freund)
- </para>
- </listitem>
-
- <listitem>
-<!--
-2016-04-10 [008608b9d] Avoid the use of a separate spinlock to protect a LWLock
--->
- <para>
- Use atomic operations, rather than a spinlock, to protect an
- <literal>LWLock</>'s wait queue (Andres Freund)
- </para>
- </listitem>
-
- <listitem>
-<!--
-2016-03-23 [44ca4022f] Partition the freelist for shared dynahash tables.
--->
- <para>
- Partition the shared hash table freelist to reduce contention on
- multi-<acronym>CPU</>-socket servers (Aleksander Alekseev)
- </para>
- </listitem>
-
- <listitem>
-<!--
2015-07-05 [6c82d8d1f] Further reduce overhead for passing plpgsql variables to
-->
<para>
@@ -1017,6 +1053,21 @@ This commit is also listed under libpq and psql
<listitem>
<!--
+2016-03-05 [dc7d70ea0] Expose control file data via SQL accessible functions.
+-->
+ <para>
+ Add <link
+ linkend="functions-controldata"><function>pg_control_system()</></>,
+ <function>pg_control_checkpoint()</>,
+ <function>pg_control_recovery()</>, and
+ <function>pg_control_init()</> functions to expose fields of
+ <filename>pg_control</> to <acronym>SQL</> (Joe Conway, Michael
+ Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
2016-02-17 [a5c43b886] Add new system view, pg_config
-->
<para>
@@ -1082,21 +1133,6 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-03-05 [dc7d70ea0] Expose control file data via SQL accessible functions.
--->
- <para>
- Add <link
- linkend="functions-controldata"><function>pg_control_system()</></>,
- <function>pg_control_checkpoint()</>,
- <function>pg_control_recovery()</>, and
- <function>pg_control_init()</> functions to expose fields of
- <filename>pg_control</> to <acronym>SQL</> (Joe Conway, Michael
- Paquier)
- </para>
- </listitem>
-
- <listitem>
-<!--
2016-01-12 [e63bb4549] Add new user fn pg_current_xlog_flush_location()
-->
<para>
@@ -1219,18 +1255,18 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-02-02 [7d17e683f] Add support for systemd service notifications
+2016-03-16 [c6dda1f48] Add idle_in_transaction_session_timeout.
-->
<para>
- Add configure option <option>--with-systemd</> to enable
- calling <function>sd_notify()</> at server start and stop (Peter
- Eisentraut)
+ Allow sessions to be terminated automatically if they are in
+ idle-in-transaction state for too long (Vik Fearing)
</para>
<para>
- This allows the use of <application>systemd</> service units of
- type <literal>notify</>, which greatly simplifies the management
- of <productname>PostgreSQL</> under <application>systemd</>.
+ This behavior is controlled by the new configuration parameter
+ <xref linkend="guc-idle-in-transaction-session-timeout">. It can
+ be useful to prevent forgotten transactions from holding locks
+ or preventing vacuum cleanup for too long.
</para>
</listitem>
@@ -1247,18 +1283,18 @@ This commit is also listed under libpq and psql
<listitem>
<!--
-2016-03-16 [c6dda1f48] Add idle_in_transaction_session_timeout.
+2016-02-02 [7d17e683f] Add support for systemd service notifications
-->
<para>
- Allow sessions to be terminated automatically if they are in
- idle-in-transaction state for too long (Vik Fearing)
+ Add configure option <option>--with-systemd</> to enable
+ calling <function>sd_notify()</> at server start and stop (Peter
+ Eisentraut)
</para>
<para>
- This behavior is controlled by the new configuration parameter
- <xref linkend="guc-idle-in-transaction-session-timeout">. It can
- be useful to prevent forgotten transactions from holding locks
- or preventing vacuum cleanup for too long.
+ This allows the use of <application>systemd</> service units of
+ type <literal>notify</>, which greatly simplifies the management
+ of <productname>PostgreSQL</> under <application>systemd</>.
</para>
</listitem>
@@ -1857,6 +1893,30 @@ XXX this is pending backpatch, may need to remove
<listitem>
<!--
+2016-04-07 [bb140506d] Phrase full text search.
+2016-06-27 [028350f61] Make exact distance match for FTS phrase operator
+2016-06-27 [3dbbd0f02] Do not fallback to AND for FTS phrase operator.
+2016-06-27 [6734a1cac] Change predecence of phrase operator.
+-->
+ <para>
+ Improve full-text search to support searching for phrases, that
+ is, lexemes appearing adjacent to each other in a specific order,
+ or with a specified distance between them (Teodor Sigaev, Oleg
+ Bartunov, Dmitry Ivanov)
+ </para>
+
+ <para>
+ A phrase-search query can be specified in <type>tsquery</>
+ input using the new operators <literal>&lt;-&gt;</> and
+ <literal>&lt;<replaceable>N</>&gt;</literal>. The former means
+ that the lexemes before and after it must appear adjacent to
+ each other in that order. The latter means they must be exactly
+ <replaceable>N</> lexemes apart.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
2015-12-22 [6efbded6e] Allow omitting one or both boundaries in an array slice
-->
<para>
@@ -1917,30 +1977,6 @@ XXX this is pending backpatch, may need to remove
<listitem>
<!--
-2016-04-07 [bb140506d] Phrase full text search.
-2016-06-27 [028350f61] Make exact distance match for FTS phrase operator
-2016-06-27 [3dbbd0f02] Do not fallback to AND for FTS phrase operator.
-2016-06-27 [6734a1cac] Change predecence of phrase operator.
--->
- <para>
- Improve full-text search to support searching for phrases, that
- is, lexemes appearing adjacent to each other in a specific order,
- or with a specified distance between them (Teodor Sigaev, Oleg
- Bartunov, Dmitry Ivanov)
- </para>
-
- <para>
- A phrase-search query can be specified in <type>tsquery</>
- input using the new operators <literal>&lt;-&gt;</> and
- <literal>&lt;<replaceable>N</>&gt;</literal>. The former means
- that the lexemes before and after it must appear adjacent to
- each other in that order. The latter means they must be exactly
- <replaceable>N</> lexemes apart.
- </para>
- </listitem>
-
- <listitem>
-<!--
2016-03-04 [d78a7d9c7] Improve support of Hunspell in ispell dictionary.
2016-03-11 [8829af47e] Fix merge affixes for numeric ones
2016-03-17 [f4ceed6ce] Improve support of Hunspell