This must be repeated in each database to be fixed, including
template0.

Clean up handling of a fatal exit (e.g., due to receipt of
SIGTERM) that occurs while trying
to execute a ROLLBACK of a failed
transaction (Tom Lane)

This situation could result in an assertion failure. In
production builds, the exit would still occur, but it would log an
unexpected message about "cannot drop active
portal".

Remove assertion that could trigger during a fatal exit (Tom
Lane)

Correctly identify columns that are of a range type or domain
type over a composite type or domain type being searched for (Tom
Lane)

Certain ALTER commands that change the
definition of a composite type or domain type are supposed to fail
if there are any stored values of that type in the database,
because they lack the infrastructure needed to update or check such
values. Previously, these checks could miss relevant values that
are wrapped inside range types or sub-domains, possibly allowing
the database to become inconsistent.

This allows ecpg programs to
contain SQL constructs that use RETURNING
internally (for example, inside a CTE) rather than using it to
define values to be returned to the client.

Improve selection of compiler flags for PL/Perl on Windows (Tom
Lane)

This fix avoids possible crashes of PL/Perl due to inconsistent
assumptions about the width of time_t values.
A side-effect that may be visible to extension developers is that
_USE_32BIT_TIME_T is no longer defined
globally in PostgreSQL Windows
builds. This is not expected to cause problems, because type
time_t is not used in any PostgreSQL API definitions.