However, this release corrects an index corruption problem
in some GiST indexes. See the first changelog entry below to
find out whether your installation has been affected and what
steps you should take if so.

Also, if you are upgrading from a version earlier than
9.1.11, see Section E.25.

This error could result in incorrect query results due
to values that should compare equal not being seen as
equal. Users with GiST indexes on bit
or bit varying columns should
REINDEX those indexes after
installing this update.

This corrects cases where TOAST pointers could be copied
into other tables without being dereferenced. If the
original data is later deleted, it would lead to errors
like "missing chunk number 0 for toast
value ..." when the now-dangling pointer is
used.

Fix "record type has not been
registered" failures with whole-row references to
the output of Append plan nodes (Tom Lane)

Ensure that reverse-DNS lookup failures are reported,
instead of just silently not matching such entries. Also
ensure that we make only one reverse-DNS lookup attempt per
connection, not one per host name entry, which is what
previously happened if the lookup attempts failed.

Secure Unix-domain sockets of temporary postmasters
started during make check (Noah
Misch)

Any local user able to access the socket file could
connect as the server's bootstrap superuser, then proceed
to execute arbitrary code as the operating-system user
running the test, as we previously noted in CVE-2014-0067.
This change defends against that risk by placing the
server's socket in a temporary, mode 0700 subdirectory of
/tmp. The hazard remains however
on platforms where Unix sockets are not supported, notably
Windows, because then the temporary postmaster must accept
local TCP connections.

A useful side effect of this change is to simplify
make check testing in builds that
override DEFAULT_PGSOCKET_DIR.
Popular non-default values like /var/run/postgresql are often not writable
by the build user, requiring workarounds that will no
longer be necessary.

Fix tablespace creation WAL replay to work on Windows
(MauMau)

Fix detection of socket creation failures on Windows
(Bruce Momjian)

On Windows, allow new sessions to absorb values of
PGC_BACKEND parameters (such as log_connections)
from the configuration file (Amit Kapila)

Previously, if such a parameter were changed in the file
post-startup, the change would have no effect.

Properly quote executable path names on Windows (Nikhil
Deshpande)

This oversight could cause initdb and pg_upgrade to fail on Windows, if the
installation path contained both spaces and @ signs.

Fix linking of libpython on OS X (Tom Lane)

The method we previously used can fail with the Python
library supplied by Xcode 5.0 and later.

Avoid buffer bloat in libpq when the server consistently
sends data faster than the client can absorb it (Shin-ichi
Morita, Tom Lane)

libpq could be coerced
into enlarging its input buffer until it runs out of memory
(which would be reported misleadingly as "lost synchronization with server"). Under
ordinary circumstances it's quite far-fetched that data
could be continuously transmitted more quickly than the
recv() loop can absorb it,
but this has been observed when the client is artificially
slowed by scheduler constraints.

Ensure that LDAP lookup attempts in libpq time out as intended (Laurenz
Albe)

Fix ecpg to do the
right thing when an array of char *
is the target for a FETCH statement returning more than one
row, as well as some other array-handling fixes (Ashutosh
Bapat)