Fix a race condition that could cause indexes built with
CREATE INDEX CONCURRENTLY to be
corrupt (Pavan Deolasee, Tom Lane)

If CREATE INDEX CONCURRENTLY
was used to build an index that depends on a column not
previously indexed, then rows updated by transactions that
ran concurrently with the CREATE
INDEX command could have received incorrect index
entries. If you suspect this may have happened, the most
reliable solution is to rebuild affected indexes after
installing this update.

Unconditionally WAL-log creation of the "init fork" for an unlogged table (Michael
Paquier)

Previously, this was skipped when wal_level =
minimal, but actually it's
necessary even in that case to ensure that the unlogged
table is properly reset to empty after a crash.

If the stats collector dies during hot standby, restart
it (Takayuki Tsunakawa)

When using serializable transaction isolation, it is
desirable that any error due to concurrent transactions
should manifest as a serialization failure, thereby cueing
the application that a retry might succeed. Unfortunately,
this does not reliably happen for duplicate-key failures
caused by concurrent insertions. This change ensures that
such an error will be reported as a serialization error if
the application explicitly checked for the presence of a
conflicting key (and did not find it) earlier in the
transaction.

This fixes problems occurring when the first value in a
column has a determinable typmod (e.g., length for a
varchar value) but later values don't
share the same limit.

Throw error for an unfinished Unicode surrogate pair at
the end of a Unicode string (Tom Lane)

Normally, a Unicode surrogate leading character must be
followed by a Unicode surrogate trailing character, but the
check for this was missed if the leading character was the
last character in a Unicode string literal (U&'...') or Unicode identifier
(U&"...").

In some cases, a cast that should result in zeroing out
low-order interval fields was
mistakenly deemed to be a no-op and discarded. An example
is that casting from INTERVAL MONTH
to INTERVAL YEAR failed to clear the
months field.

Submit correction

If you see anything in the documentation that is not correct, does not match
your experience with the particular feature or requires further clarification,
please use
this form
to report a documentation issue.