Make another editorial pass over the 9.6 release notes.

I think they're pretty much release-quality now.
This commit is contained in:
Tom Lane 2016-08-28 17:40:06 -04:00
parent a6f0dc701b
commit 39d866433e
3 changed files with 265 additions and 213 deletions

View File

@ -18580,7 +18580,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal><function>pg_replication_origin_drop(<parameter>node_name</parameter> <type>text</type>)</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Delete a previously created replication origin, including any
@ -18612,7 +18612,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal><function>pg_replication_origin_session_setup(<parameter>node_name</parameter> <type>text</type>)</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Mark the current session as replaying from the given
@ -18630,7 +18630,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal><function>pg_replication_origin_session_reset()</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Cancel the effects
@ -18679,7 +18679,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal><function>pg_replication_origin_xact_setup(<parameter>origin_lsn</parameter> <type>pg_lsn</type>, <parameter>origin_timestamp</parameter> <type>timestamptz</type>)</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Mark the current transaction as replaying a transaction that has
@ -18698,7 +18698,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal><function>pg_replication_origin_xact_reset()</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Cancel the effects of
@ -18714,7 +18714,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<literal>pg_replication_origin_advance<function>(<parameter>node_name</parameter> <type>text</type>, <parameter>pos</parameter> <type>pg_lsn</type>)</function></literal>
</entry>
<entry>
void
<type>void</>
</entry>
<entry>
Set replication progress for the given node to the given
@ -19174,7 +19174,7 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<tbody>
<row>
<entry>
<literal><function>brin_summarize_new_values(<parameter>index_oid</> <type>regclass</>)</function></literal>
<literal><function>brin_summarize_new_values(<parameter>index</> <type>regclass</>)</function></literal>
</entry>
<entry><type>integer</type></entry>
<entry>summarize page ranges not already summarized</entry>
@ -19191,8 +19191,8 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
</table>
<para>
<function>brin_summarize_new_values</> receives a BRIN index OID as
argument and inspects the index to find page ranges in the base table
<function>brin_summarize_new_values</> accepts the OID or name of a
BRIN index and inspects the index to find page ranges in the base table
that are not currently summarized by the index; for any such range
it creates a new summary index tuple by scanning the table pages.
It returns the number of new page range summaries that were inserted
@ -19201,12 +19201,12 @@ postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
<para>
<function>gin_clean_pending_list</> accepts the OID or name of
a GIN index and cleans up the pending list of the specified GIN index
a GIN index and cleans up the pending list of the specified index
by moving entries in it to the main GIN data structure in bulk.
It returns the number of pages cleaned up from the pending list.
Note that if the argument is a GIN index built with <literal>fastupdate</>
option disabled, the cleanup does not happen and the return value is 0
because the index doesn't have a pending list.
It returns the number of pages removed from the pending list.
Note that if the argument is a GIN index built with
the <literal>fastupdate</> option disabled, no cleanup happens and the
return value is 0, because the index doesn't have a pending list.
Please see <xref linkend="gin-fast-update"> and <xref linkend="gin-tips">
for details of the pending list and <literal>fastupdate</> option.
</para>

View File

@ -23,33 +23,33 @@
<listitem>
<para>
Parallel sequential scans, joins and aggregates
Parallel execution of sequential scans, joins and aggregates
</para>
</listitem>
<listitem>
<para>
Eliminate repetitive scanning of old data by autovacuum
Autovacuum no longer performs repetitive scanning of old data
</para>
</listitem>
<listitem>
<para>
Synchronous replication now allows multiple standby servers, for
Synchronous replication now allows multiple standby servers for
increased reliability
</para>
</listitem>
<listitem>
<para>
Allow full-text search for phrases (multiple adjacent words)
Full-text search can now search for phrases (multiple adjacent words)
</para>
</listitem>
<listitem>
<para>
Support foreign/remote joins, sorts, and <command>UPDATE</>s in
<filename>postgres_fdw</>
<filename>postgres_fdw</> now supports remote joins, sorts,
<command>UPDATE</>s, and <command>DELETE</>s
</para>
</listitem>
@ -87,25 +87,6 @@
<listitem>
<!--
2016-08-07 [d8710f18f] Correct column name in information schema
-->
<para>
Change the column name in the
<structname>information_schema</>.<structname>routines</>
view from <structfield>result_cast_character_set_name</>
to <structfield>result_cast_char_set_name</> (Cl&eacute;ment
Pr&eacute;vost)
</para>
<para>
The SQL:2011 standard specifies the longer name, but that appears
to be a mistake, because adjacent column names use the shorter
style, as do other <structname>information_schema</> views.
</para>
</listitem>
<listitem>
<!--
2016-03-10 [53be0b1ad] Provide much better wait information in pg_stat_activity
-->
<para>
@ -117,7 +98,7 @@
<para>
Historically a process has only been shown as waiting if it was
waiting for a heavy weight lock. Now waits for light weight locks
waiting for a heavyweight lock. Now waits for lightweight locks
and buffer pins are also shown in <structname>pg_stat_activity</>.
Also, the type of lock being waited for is now visible.
These changes replace the <structfield>waiting</> column with
@ -149,18 +130,18 @@
<para>
Make <link
linkend="functions-datetime-table"><function>extract()</></> behave
more reasonably with <literal>infinite</> inputs (Vitaly Burovoy)
more reasonably with infinite inputs (Vitaly Burovoy)
</para>
<para>
Historically the <function>extract()</> function just returned
zero given an infinite timestamp, regardless of the given
unit name. Make it return <literal>infinity</literal>
field name. Make it return <literal>infinity</literal>
or <literal>-infinity</literal> as appropriate when the
requested field is one that is monotonically increasing (e.g,
<literal>year</>, <literal>epoch</>), or <literal>NULL</> when
it is not (e.g., <literal>day</>, <literal>hour</>). Also,
throw the expected error for bad unit names.
throw the expected error for bad field names.
</para>
</listitem>
@ -186,8 +167,8 @@ This commit is also listed under libpq and psql
2016-03-29 [61d66c44f] Fix support of digits in email/hostnames.
-->
<para>
Fix text search parser to allow leading digits in <literal>email</>
and <literal>host</> tokens (Artur Zakirov)
Fix the default text search parser to allow leading digits
in <literal>email</> and <literal>host</> tokens (Artur Zakirov)
</para>
<para>
@ -205,18 +186,18 @@ This commit is also listed under libpq and psql
2016-03-16 [9a206d063] Improve script generating unaccent rules
-->
<para>
Extend <filename>contrib/unaccent</>'s standard
<filename>unaccent.rules</> file to handle all diacritics
known to Unicode, and expand ligatures correctly (Thomas Munro,
Extend <link linkend="unaccent"><filename>contrib/unaccent</></>'s
standard <filename>unaccent.rules</> file to handle all diacritics
known to Unicode, and to expand ligatures correctly (Thomas Munro,
L&eacute;onard Benedetti)
</para>
<para>
The previous version omitted some less-common letters with
diacritic marks. It now also expands ligatures into separate
letters. Installations that use this rules file may wish to
rebuild <type>tsvector</> columns and indexes that depend on
the result.
The previous version neglected to convert some less-common letters
with diacritic marks. Also, ligatures are now expanded into
separate letters. Installations that use this rules file may wish
to rebuild <type>tsvector</> columns and indexes that depend on the
result.
</para>
</listitem>
@ -258,17 +239,38 @@ This commit is also listed under libpq and psql
<listitem>
<!--
2015-12-08 [d5563d7df] psql: Support multiple -c and -f options, and allow mixi
2016-08-07 [d8710f18f] Correct column name in information schema
-->
<para>
Support multiple <option>-c</option> and <option>-f</option>
command-line options (Pavel Stehule, Catalin Iacob)
Change a column name in the
<structname>information_schema</>.<structname>routines</>
view from <structfield>result_cast_character_set_name</>
to <structfield>result_cast_char_set_name</> (Cl&eacute;ment
Pr&eacute;vost)
</para>
<para>
To allow this with sane behavior, one backwards incompatibility
had to be introduced: <option>-c</option> no longer implies
<option>--no-psqlrc</option>.
The SQL:2011 standard specifies the longer name, but that appears
to be a mistake, because adjacent column names use the shorter
style, as do other <structname>information_schema</> views.
</para>
</listitem>
<listitem>
<!--
2015-12-08 [d5563d7df] psql: Support multiple -c and -f options, and allow mixi
-->
<para>
<application>psql</>'s <option>-c</option> option no longer implies
<option>--no-psqlrc</option>
(Pavel Stehule, Catalin Iacob)
</para>
<para>
Write <option>--no-psqlrc</option> (or its
abbreviation <option>-X</option>) explicitly to obtain the old
behavior. Scripts modified this way will still work with old
versions of <application>psql</>.
</para>
</listitem>
@ -277,7 +279,7 @@ This commit is also listed under libpq and psql
2015-07-02 [5671aaca8] Improve pg_restore's -t switch to match all types of rel
-->
<para>
Improve <application>pg_restore</>'s <option>-t</option> switch to
Improve <application>pg_restore</>'s <option>-t</option> option to
match all types of relations, not only plain tables (Craig Ringer)
</para>
</listitem>
@ -287,7 +289,7 @@ This commit is also listed under libpq and psql
2016-02-12 [59a884e98] Change delimiter used for display of NextXID
-->
<para>
Change the display format of <literal>NextXID</> in
Change the display format used for <literal>NextXID</> in
<application>pg_controldata</> and related places (Joe Conway,
Bruce Momjian)
</para>
@ -383,8 +385,8 @@ This commit is also listed under libpq and psql
2015-09-16 [7aea8e4f2] Determine whether it's safe to attempt a parallel plan f
-->
<para>
Provide infrastructure for marking the parallel-safe status of
functions (Robert Haas, Amit Kapila)
Provide infrastructure for marking the parallel-safety status of
functions (Robert Haas, Amit Kapila)
</para>
</listitem>
@ -432,8 +434,12 @@ This commit is also listed under libpq and psql
Add <link
linkend="functions-admin-index"><function>gin_clean_pending_list()</></>
function to allow manual invocation of pending-list cleanup for a
GIN index, separately from vacuuming or analyzing the parent table
(Jeff Janes)
GIN index (Jeff Janes)
</para>
<para>
Formerly, such cleanup happened only as a byproduct of vacuuming or
analyzing the parent table.
</para>
</listitem>
@ -711,7 +717,7 @@ This commit is also listed under libpq and psql
<para>
If necessary, vacuum can be forced to process all-frozen
pages using the new <literal>DISABLE_PAGE_SKIPPING</> option.
Normally, this should never be needed but it might help in
Normally this should never be needed, but it might help in
recovering from visibility-map corruption.
</para>
</listitem>
@ -774,7 +780,7 @@ This commit is also listed under libpq and psql
2016-02-11 [d4c3a156c] Remove GROUP BY columns that are functionally dependent
-->
<para>
Avoid computing <literal>GROUP BY</> columns if they are
Ignore <literal>GROUP BY</> columns that are
functionally dependent on other columns (David Rowley)
</para>
@ -788,43 +794,21 @@ This commit is also listed under libpq and psql
<listitem>
<!--
2016-03-11 [9118d03a8] When appropriate, postpone SELECT output expressions til
2016-03-25 [d543170f2] Don't split up SRFs when choosing to postpone SELECT out
-->
<para>
When appropriate, postpone evaluation of <command>SELECT</>
output expressions until after an <literal>ORDER BY</> sort
(Konstantin Knizhnik)
</para>
<para>
This change ensures that volatile or expensive functions in the
output list are executed in the order suggested by <literal>ORDER
BY</>, and that they are not evaluated more times than required
when there is a <literal>LIMIT</> clause. Previously, these
properties held if the ordering was performed by an index scan or
pre-merge-join sort, but not if it was performed by a top-level
sort.
</para>
</listitem>
<listitem>
<!--
2016-03-31 [f9aefcb91] Support using index-only scans with partial indexes in m
-->
<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,
clause references columns that are not indexed (Tomas Vondra,
Kyotaro Horiguchi)
</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.
For example, an index defined by <command>CREATE INDEX tidx_partial
ON t(b) WHERE a &gt; 0</> can now be used for an index-only scan by
a query that specifies <literal>WHERE a &gt; 0</> and does not
otherwise use <literal>a</>. Previously this was disallowed
because <literal>a</> is not listed as an index column.
</para>
</listitem>
@ -875,11 +859,12 @@ This commit is also listed under libpq and psql
<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.
and the feature is on by default on Linux because that function has
few downsides. This flushing capability is also available on other
platforms if they 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>
@ -902,8 +887,8 @@ This commit is also listed under libpq and psql
</para>
<para>
For example, <command>SELECT AVG(x), SUM(x) FROM x</> can use a
single per-row compuation for both aggregates.
For example, <command>SELECT AVG(x), VARIANCE(x) FROM tab</> can use
a single per-row computation for both aggregates.
</para>
</listitem>
@ -913,9 +898,9 @@ This commit is also listed under libpq and psql
-->
<para>
Speed up visibility tests for recently-created tuples by checking
our transaction snapshot, not <structname>pg_clog</>, to decide
if the source transaction should be considered committed (Jeff
Janes, Tom Lane)
the current transaction's snapshot, not <structname>pg_clog</>, to
decide if the source transaction should be considered committed
(Jeff Janes, Tom Lane)
</para>
</listitem>
@ -940,10 +925,11 @@ This commit is also listed under libpq and psql
<para>
Two-phase commit information is now written only to <acronym>WAL</>
during <command>PREPARE TRANSACTION</>, and read from
<acronym>WAL</> during <command>COMMIT PREPARED</>. A separate
state file is created only if the pending transaction does not
get committed or aborted by the time of the next checkpoint.
during <command>PREPARE TRANSACTION</>, and will be read back from
<acronym>WAL</> during <command>COMMIT PREPARED</> if that happens
soon thereafter. A separate state file is created only if the
pending transaction does not get committed or aborted by the time
of the next checkpoint.
</para>
</listitem>
@ -1142,9 +1128,9 @@ This commit is also listed under libpq and psql
This function returns an array of the process IDs of any
sessions that are blocking the session with the given process ID.
Historically users have obtained such information using a self-join
on the <structname>pg_locks</> view. However, it is unreasonably
on the <structname>pg_locks</> view. However, it is unreasonably
tedious to do it that way with any modicum of correctness, and
the addition of parallel queries has made the approach entirely
the addition of parallel queries has made the old approach entirely
impractical, since locks might be held or awaited by child worker
processes rather than the session's main process.
</para>
@ -1181,7 +1167,7 @@ This commit is also listed under libpq and psql
</para>
<para>
The memory usage dump output to the postmaster log during an
The memory usage dump that is output to the postmaster log during an
out-of-memory failure now summarizes statistics when there are a
large number of memory contexts, rather than possibly generating
a very large report. There is also a <quote>grand total</>
@ -1203,7 +1189,8 @@ This commit is also listed under libpq and psql
2016-04-08 [34c33a1f0] Add BSD authentication method.
-->
<para>
Add an <literal>bsd</> authentication method to allow the use of
Add a <link linkend="auth-bsd"><literal>bsd</> authentication
method</link> to allow use of
the <systemitem class="osname">BSD</> Authentication service for
<productname>PostgreSQL</> client authentication (Marisa Emerson)
</para>
@ -1219,9 +1206,10 @@ This commit is also listed under libpq and psql
2016-04-08 [2f1d2b7a7] Set PAM_RHOST item for PAM authentication
-->
<para>
When using <acronym>PAM</> authentication, provide the client
IP address or host name to <acronym>PAM</> modules via the
<literal>PAM_RHOST</> item (Grzegorz Sampolski)
When using <link linkend="auth-pam"><acronym>PAM</>
authentication</link>, provide the client IP address or host name
to <acronym>PAM</> modules via the <literal>PAM_RHOST</> item
(Grzegorz Sampolski)
</para>
</listitem>
@ -1230,8 +1218,8 @@ This commit is also listed under libpq and psql
2016-01-07 [5e0b5dcab] Provide more detail in postmaster log for password authe
-->
<para>
Provide detail in the postmaster log during more password
authentication failures (Tom Lane)
Provide detail in the postmaster log for more types of password
authentication failure (Tom Lane)
</para>
<para>
@ -1245,8 +1233,8 @@ This commit is also listed under libpq and psql
2015-09-06 [643beffe8] Support RADIUS passwords up to 128 characters
-->
<para>
Support <acronym>RADIUS</> passwords up to 128 characters long
(Marko Tiikkaja)
Support <link linkend="auth-radius"><acronym>RADIUS</> passwords</>
up to 128 characters long (Marko Tiikkaja)
</para>
</listitem>
@ -1255,7 +1243,8 @@ This commit is also listed under libpq and psql
2016-04-08 [35e2e357c] Add authentication parameters compat_realm and upn_usena
-->
<para>
Add new <acronym>SSPI</> authentication parameters
Add new <link linkend="sspi-auth"><acronym>SSPI</>
authentication</link> parameters
<varname>compat_realm</> and <varname>upn_username</> to control
whether <productname>NetBIOS</> or <productname>Kerberos</>
realm names and user names are used during <acronym>SSPI</>
@ -1302,30 +1291,13 @@ This commit is also listed under libpq and psql
<listitem>
<!--
2016-02-02 [7d17e683f] Add support for systemd service notifications
-->
<para>
Add configure option <option>--with-systemd</> to enable
calling <function>sd_notify()</> at server start and stop (Peter
Eisentraut)
</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</>.
</para>
</listitem>
<listitem>
<!--
2015-09-07 [f828654e1] Add log_line_prefix option 'n' for Unix epoch.
2015-09-07 [b1e1862a1] Coordinate log_line_prefix options 'm' and 'n' to share
-->
<para>
Add <varname>log_line_prefix</> option <literal>%n</> to print
the current time as a Unix epoch, with milliseconds (Tomas Vondra,
Jeff Davis)
Add <xref linkend="guc-log-line-prefix"> option <literal>%n</> to
print the current time in Unix epoch form, with milliseconds (Tomas
Vondra, Jeff Davis)
</para>
</listitem>
@ -1362,6 +1334,23 @@ This commit is also listed under libpq and psql
<listitem>
<!--
2016-02-02 [7d17e683f] Add support for systemd service notifications
-->
<para>
Add configure option <option>--with-systemd</> to enable
calling <function>sd_notify()</> at server start and stop (Peter
Eisentraut)
</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</>.
</para>
</listitem>
<listitem>
<!--
2016-03-19 [9a83564c5] Allow SSL server key file to have group read access if o
-->
<para>
@ -1407,8 +1396,8 @@ This commit is also listed under libpq and psql
but that is unsafe and inefficient. It also prevents a new
postmaster from being started until the last old backend has
exited. Backends will detect postmaster death when waiting for
client I/O, so the exit will not be instantaneous, but it in most
cases should happen no later than the end of the current query.
client I/O, so the exit will not be instantaneous, but it should
happen no later than the end of the current query.
</para>
</listitem>
@ -1541,7 +1530,8 @@ XXX this is pending backpatch, may need to remove
-->
<para>
Add a <option>--slot</option> option to
<application>pg_basebackup</> (Peter Eisentraut)
<link linkend="app-pgbasebackup"><application>pg_basebackup</></>
(Peter Eisentraut)
</para>
<para>
@ -1612,6 +1602,28 @@ XXX this is pending backpatch, may need to remove
<listitem>
<!--
2016-03-11 [9118d03a8] When appropriate, postpone SELECT output expressions til
2016-03-25 [d543170f2] Don't split up SRFs when choosing to postpone SELECT out
-->
<para>
When appropriate, postpone evaluation of <command>SELECT</>
output expressions until after an <literal>ORDER BY</> sort
(Konstantin Knizhnik)
</para>
<para>
This change ensures that volatile or expensive functions in the
output list are executed in the order suggested by <literal>ORDER
BY</>, and that they are not evaluated more times than required
when there is a <literal>LIMIT</> clause. Previously, these
properties held if the ordering was performed by an index scan or
pre-merge-join sort, but not if it was performed by a top-level
sort.
</para>
</listitem>
<listitem>
<!--
2016-03-12 [23a27b039] Widen query numbers-of-tuples-processed counters to uint
2016-03-14 [74a379b98] Use repalloc_huge() to enlarge a SPITupleTable's tuple p
-->
@ -1663,8 +1675,8 @@ XXX this is pending backpatch, may need to remove
<para>
Previously, the foreign join pushdown infrastructure left the
question of security entirely up to individual foreign data
wrappers, but it would be too easy for an <acronym>FDW</> to
inadvertently open up subtle security hole. So, make it the core
wrappers, but that made it too easy for an <acronym>FDW</> to
inadvertently create subtle security holes. So, make it the core
code's job to determine which role ID will access each table,
and do not attempt join pushdown unless the role is the same for
all relevant relations.
@ -1707,7 +1719,7 @@ XXX this is pending backpatch, may need to remove
<para>
This command allows a database object to be marked as depending
on an extension, so that it will be automatically dropped if
on an extension, so that it will be dropped automatically if
the extension is dropped (without needing <literal>CASCADE</>).
However, the object is not part of the extension, and thus will
be dumped separately by <application>pg_dump</>.
@ -1777,8 +1789,8 @@ XXX this is pending backpatch, may need to remove
-->
<para>
Add a <literal>CASCADE</> option to <command>CREATE
EXTENSION</command> to automatically create extensions it depends
on (Petr Jel&iacute;nek)
EXTENSION</command> to automatically create any extensions the
requested one depends on (Petr Jel&iacute;nek)
</para>
</listitem>
@ -1803,7 +1815,7 @@ XXX this is pending backpatch, may need to remove
</para>
<para>
This is possible because the table has no existing rows. This matches
This is safe because the table has no existing rows. This matches
the longstanding behavior of <literal>FOREIGN KEY</> constraints.
</para>
</listitem>
@ -1918,10 +1930,10 @@ XXX this is pending backpatch, may need to remove
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)
Improve <link linkend="textsearch">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>
@ -2001,9 +2013,10 @@ XXX this is pending backpatch, may need to remove
2016-03-17 [f4ceed6ce] Improve support of Hunspell
-->
<para>
Upgrade the <literal>ispell</> dictionary to handle modern
<productname>Hunspell</> files and support more languages
(Artur Zakirov)
Upgrade
the <link linkend="textsearch-ispell-dictionary"><literal>ispell</></>
dictionary type to handle modern <productname>Hunspell</> files and
support more languages (Artur Zakirov)
</para>
</listitem>
@ -2012,7 +2025,9 @@ XXX this is pending backpatch, may need to remove
2015-10-30 [12c9a0400] Implement lookbehind constraints in our regular-expressi
-->
<para>
Implement look-behind constraints in regular expressions (Tom Lane)
Implement look-behind constraints
in <link linkend="functions-posix-regexp">regular expressions</>
(Tom Lane)
</para>
<para>
@ -2044,7 +2059,7 @@ XXX this is pending backpatch, may need to remove
2015-11-07 [c5e86ea93] Add "xid <> xid" and "xid <> int4" operators.
-->
<para>
Add transaction id operators <type>xid</> <literal>&lt;&gt;</>
Add transaction ID operators <type>xid</> <literal>&lt;&gt;</>
<type>xid</> and <type>xid</> <literal>&lt;&gt;</> <type>int4</>,
for consistency with the corresponding equality operators
(Michael Paquier)
@ -2090,8 +2105,10 @@ XXX this is pending backpatch, may need to remove
2016-01-05 [abb173392] Add scale(numeric)
-->
<para>
Add a <function>scale(numeric)</> function to extract the display
scale of a <type>numeric</> value (Marko Tiikkaja)
Add a <link
linkend="functions-math-func-table"><function>scale(numeric)</></>
function to extract the display scale of a <type>numeric</> value
(Marko Tiikkaja)
</para>
</listitem>
@ -2109,7 +2126,7 @@ XXX this is pending backpatch, may need to remove
measures its argument in degrees, whereas <function>sin()</>
measures in radians. These functions go to some lengths to
deliver exact results for values where an exact result can be
expected, e.g. <literal>sind(30) = 0.5</literal>.
expected, for instance <literal>sind(30) = 0.5</literal>.
</para>
</listitem>
@ -2125,9 +2142,9 @@ XXX this is pending backpatch, may need to remove
<para>
The <acronym>POSIX</> standard says that these functions should
return <literal>NaN</> for NaN input, and should throw an error for
out-of-range inputs including <literal>infinity</>. Previously our
behavior varied across platforms.
return <literal>NaN</> for <literal>NaN</> input, and should throw
an error for out-of-range inputs including <literal>infinity</>.
Previously our behavior varied across platforms.
</para>
</listitem>
@ -2136,9 +2153,10 @@ XXX this is pending backpatch, may need to remove
2016-03-29 [e511d878f] Allow to_timestamp(float8) to convert float infinity to
-->
<para>
Make <function>to_timestamp(float8)</> convert float
<literal>infinity</> to timestamp <literal>infinity</> (Vitaly
Burovoy)
Make <link
linkend="functions-datetime-table"><function>to_timestamp(float8)</></>
convert float <literal>infinity</> to
timestamp <literal>infinity</> (Vitaly Burovoy)
</para>
<para>
@ -2170,11 +2188,12 @@ XXX this is pending backpatch, may need to remove
2015-09-17 [9acb9007d] Fix oversight in tsearch type check
-->
<para>
Allow <function>ts_stat_sql()</> and
<function>tsvector_update_trigger()</> to operate on values that
are of types binary-compatible with the expected argument type,
not just that argument type; for example allow <type>citext</>
where <type>text</> is expected (Teodor Sigaev)
Allow <link linkend="textsearch-statistics"><function>ts_stat()</></>
and <link linkend="textsearch-update-triggers"><function>tsvector_update_trigger()</></>
to operate on values that are of types binary-compatible with the
expected argument type, not only that argument type; for example
allow <type>citext</> where <type>text</> is expected (Teodor
Sigaev)
</para>
</listitem>
@ -2216,8 +2235,9 @@ XXX this is pending backpatch, may need to remove
<para>
In <link
linkend="functions-formatting-table"><function>to_number()</></>,
interpret <literal>V</> as dividing by 10 to the power of the
number of digits following <literal>V</> (Bruce Momjian)
interpret a <literal>V</> format code as dividing by 10 to the
power of the number of digits following <literal>V</> (Bruce
Momjian)
</para>
<para>
@ -2231,8 +2251,10 @@ XXX this is pending backpatch, may need to remove
2016-01-05 [ea0d494da] Make the to_reg*() functions accept text not cstring.
-->
<para>
Make the <function>to_reg*()</> functions accept type <type>text</>
not <type>cstring</> (Petr Korobeinikov)
Make the <link
linkend="functions-info-catalog-table"><function>to_reg*()</></>
functions accept type <type>text</> not <type>cstring</>
(Petr Korobeinikov)
</para>
<para>
@ -2289,7 +2311,7 @@ XXX this is pending backpatch, may need to remove
<para>
This allows avoiding an error for an unrecognized parameter
name, and instead return a <literal>NULL</>.
name, instead returning a <literal>NULL</>.
</para>
</listitem>
@ -2348,7 +2370,7 @@ XXX this is pending backpatch, may need to remove
<para>
In <link linkend="plpgsql">PL/pgSQL</link>, detect mismatched
<command>CONTINUE</> and <command>EXIT</> statements while
compiling PL/pgSQL functions, rather than at execution time
compiling a function, rather than at execution time
(Jim Nasby)
</para>
</listitem>
@ -2453,8 +2475,9 @@ XXX this is pending backpatch, may need to remove
2016-08-26 [e796d0aba] Add a nonlocalized version of the severity field to clie
-->
<para>
Add a nonlocalized version of the severity field in error and notice
messages (Tom Lane)
Add a nonlocalized version of
the <link linkend="protocol-error-fields">severity field</> in
error and notice messages (Tom Lane)
</para>
<para>
@ -2495,6 +2518,8 @@ This commit is also listed under psql and PL/pgSQL
</para>
<para>
This is done with the new function <link
linkend="libpq-pqresultverboseerrormessage"><function>PQresultVerboseErrorMessage()</></>.
This supports <application>psql</>'s new <literal>\errverbose</>
feature, and may be useful for other clients as well.
</para>
@ -2541,8 +2566,10 @@ This commit is also listed under psql and PL/pgSQL
2015-09-14 [d02426029] Check existency of table/schema for -t/-n option (pg_dum
-->
<para>
Add a <option>--strict-names</> option to <application>pg_dump</>
and <application>pg_restore</> (Pavel Stehule)
Add a <option>--strict-names</> option
to <link linkend="APP-PGDUMP"><application>pg_dump</></>
and <link linkend="APP-PGRESTORE"><application>pg_restore</></>
(Pavel Stehule)
</para>
<para>
@ -2594,6 +2621,22 @@ This commit is also listed under psql and PL/pgSQL
<listitem>
<!--
2015-12-08 [d5563d7df] psql: Support multiple -c and -f options, and allow mixi
this commit is also listed in the compatibility section
-->
<para>
Support multiple <option>-c</option> and <option>-f</option>
command-line options (Pavel Stehule, Catalin Iacob)
</para>
<para>
The specified operations are carried out in the order in which the
options are given, and then <application>psql</> terminates.
</para>
</listitem>
<listitem>
<!--
2016-04-08 [c09b18f21] Support \crosstabview in psql
-->
<para>
@ -2679,7 +2722,7 @@ This commit is also listed under psql and PL/pgSQL
2016-06-15 [9901d8ac2] Use strftime("%c") to format timestamps in psql's \watch
-->
<para>
Improve the headers output of the <command>\watch</> command
Improve the headers output by the <command>\watch</> command
(Michael Paquier, Tom Lane)
</para>
@ -2790,8 +2833,9 @@ This commit is also listed under libpq and PL/pgSQL
<para>
This change allows SQL commands in scripts to span multiple lines.
Existing custom scripts will need to be modified to add a semicolon
at the end of each line if missing. (Doing so does not break
the script for use with older versions of <application>pgbench</>.)
at the end of each line that does not have one already. (Doing so
does not break the script for use with older versions
of <application>pgbench</>.)
</para>
</listitem>
@ -2960,8 +3004,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-12-01 [e50cda784] Use pg_rewind when target timeline was switched
-->
<para>
Improve <application>pg_rewind</> so that it can work when the
target timeline changes (Alexander Korotkov)
Improve <link linkend="app-pgrewind"><application>pg_rewind</></>
so that it can work when the target timeline changes (Alexander
Korotkov)
</para>
<para>
@ -3095,8 +3140,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-08-13 [ed0097e4f] Add SQL-accessible functions for inspecting index AM pro
-->
<para>
Restructure index access method <acronym>API</> to hide most of
it at the <application>C</> level (Alexander Korotkov, Andrew Gierth)
Restructure <link linkend="indexam">index access
method <acronym>API</></> to hide most of it at
the <application>C</> level (Alexander Korotkov, Andrew Gierth)
</para>
<para>
@ -3118,9 +3164,11 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-06 [6c268df12] Add new catalog called pg_init_privs
-->
<para>
Add <structname>pg_init_privs</> system catalog to hold original
privileges of <application>initdb</>-created and extension-created
objects (Stephen Frost)
Add <link
linkend="catalog-pg-init-privs"><structname>pg_init_privs</></>
system catalog to hold original privileges
of <application>initdb</>-created and extension-created objects
(Stephen Frost)
</para>
<para>
@ -3315,7 +3363,7 @@ This commit is also listed under libpq and PL/pgSQL
<para>
This is somewhat like the <quote>reconstructed value</>, but it
could be any arbitrary chunk of data, it need not be of the same
could be any arbitrary chunk of data, not necessarily of the same
data type as the indexed column.
</para>
</listitem>
@ -3367,9 +3415,10 @@ This commit is also listed under libpq and PL/pgSQL
2016-03-13 [7a8d87483] Rename auto_explain.sample_ratio to sample_rate
-->
<para>
Add configuration parameter <literal>auto_explain.sample_rate</>
to allow <filename>contrib/auto_explain</> to capture just a
configurable fraction of all queries (Craig Ringer, Julien Rouhaud)
Add configuration parameter <literal>auto_explain.sample_rate</> to
allow <link linkend="auto-explain"><filename>contrib/auto_explain</></>
to capture just a configurable fraction of all queries (Craig
Ringer, Julien Rouhaud)
</para>
<para>
@ -3383,9 +3432,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-04-01 [9ee014fc8] Bloom index contrib module
-->
<para>
Add <filename>contrib/bloom</> module that implements an index
access method based on Bloom filtering (Teodor Sigaev, Alexander
Korotkov)
Add <link linkend="bloom"><filename>contrib/bloom</></> module that
implements an index access method based on Bloom filtering (Teodor
Sigaev, Alexander Korotkov)
</para>
<para>
@ -3401,9 +3450,9 @@ This commit is also listed under libpq and PL/pgSQL
2015-12-28 [81ee726d8] Code and docs review for cube kNN support.
-->
<para>
In <filename>contrib/cube</>, introduce distance operators for
cubes, and support kNN-style searches in GiST indexes on cube
columns (Stas Kelvich)
In <link linkend="cube"><filename>contrib/cube</></>, introduce
distance operators for cubes, and support kNN-style searches in
GiST indexes on cube columns (Stas Kelvich)
</para>
</listitem>
@ -3434,8 +3483,9 @@ This commit is also listed under libpq and PL/pgSQL
-->
<para>
Add selectivity estimation functions for
<filename>contrib/intarray</> operators to improve plans for
queries using those operators (Yury Zhuravlev, Alexander Korotkov)
<link linkend="intarray"><filename>contrib/intarray</></> operators
to improve plans for queries using those operators (Yury Zhuravlev,
Alexander Korotkov)
</para>
</listitem>
@ -3470,7 +3520,8 @@ This commit is also listed under libpq and PL/pgSQL
-->
<para>
Add support for <quote>word similarity</> to
<filename>contrib/pg_trgm</> (Alexander Korotkov, Artur Zakirov)
<link linkend="pgtrgm"><filename>contrib/pg_trgm</></>
(Alexander Korotkov, Artur Zakirov)
</para>
<para>
@ -3486,9 +3537,8 @@ This commit is also listed under libpq and PL/pgSQL
-->
<para>
Add configuration parameter
<varname>pg_trgm.similarity_threshold</> for <link
linkend="pgtrgm"><filename>contrib/pg_trgm</></>'s similarity
threshold (Artur Zakirov)
<varname>pg_trgm.similarity_threshold</> for
<filename>contrib/pg_trgm</>'s similarity threshold (Artur Zakirov)
</para>
<para>
@ -3525,8 +3575,9 @@ This commit is also listed under libpq and PL/pgSQL
2016-06-17 [71d05a2c7] pg_visibility: Add pg_truncate_visibility_map function.
-->
<para>
Add <filename>contrib/pg_visibility</> module to allow examining
table visibility maps (Robert Haas)
Add <link
linkend="pgvisibility"><filename>contrib/pg_visibility</></> module
to allow examining table visibility maps (Robert Haas)
</para>
</listitem>
@ -3545,7 +3596,7 @@ This commit is also listed under libpq and PL/pgSQL
</itemizedlist>
<sect4>
<title><filename>postgres_fdw</></title>
<title><link linkend="postgres-fdw"><filename>postgres_fdw</></></title>
<itemizedlist>
@ -3597,7 +3648,7 @@ This commit is also listed under libpq and PL/pgSQL
</para>
<para>
Formerly, this involved sending a <command>SELECT FOR UPDATE</>
Formerly, remote updates involved sending a <command>SELECT FOR UPDATE</>
command and then updating or deleting the selected rows one-by-one.
While that is still necessary if the operation requires any local
processing, it can now be done remotely if all elements of the

View File

@ -674,6 +674,7 @@ typedef struct spgInnerConsistentOut
However, any output traverse values pointed to by
the <structfield>traversalValues</> array should be allocated
in <structfield>traversalMemoryContext</>.
Each traverse value must be a single palloc'd chunk.
</para>
</listitem>
</varlistentry>