Release date: 2016-03-31
This release contains a variety of fixes from 9.3.11. For information about new features in the 9.3 major release, see Section E.57.
A dump/restore is not required for those running 9.3.X.
However, if you are upgrading from a version earlier than 9.3.9, see Section E.48.
Fix incorrect handling of NULL index entries in
indexed ROW()
comparisons (Tom Lane)
An index search using a row comparison such as ROW(a, b) >
ROW('x', 'y')
would stop upon reaching a NULL entry in
the b
column, ignoring the fact that there might be
non-NULL b
values associated with later values
of a
.
Avoid unlikely data-loss scenarios due to renaming files without
adequate fsync()
calls before and after (Michael Paquier,
Tomas Vondra, Andres Freund)
Correctly handle cases where pg_subtrans
is close to XID
wraparound during server startup (Jeff Janes)
Fix corner-case crash due to trying to free localeconv()
output strings more than once (Tom Lane)
Fix parsing of affix files for ispell
dictionaries
(Tom Lane)
The code could go wrong if the affix file contained any characters
whose byte length changes during case-folding, for
example I
in Turkish UTF8 locales.
Avoid use of sscanf()
to parse ispell
dictionary files (Artur Zakirov)
This dodges a portability problem on FreeBSD-derived platforms (including macOS).
Avoid a crash on old Windows versions (before 7SP1/2008R2SP1) with an AVX2-capable CPU and a Postgres build done with Visual Studio 2013 (Christian Ullrich)
This is a workaround for a bug in Visual Studio 2013's runtime library, which Microsoft have stated they will not fix in that version.
Fix psql's tab completion logic to handle multibyte characters properly (Kyotaro Horiguchi, Robert Haas)
Fix psql's tab completion for
SECURITY LABEL
(Tom Lane)
Pressing TAB after SECURITY LABEL
might cause a crash
or offering of inappropriate keywords.
Make pg_ctl accept a wait timeout from the
PGCTLTIMEOUT
environment variable, if none is specified on
the command line (Noah Misch)
This eases testing of slower buildfarm members by allowing them to globally specify a longer-than-normal timeout for postmaster startup and shutdown.
Fix incorrect test for Windows service status in pg_ctl (Manuel Mathar)
The previous set of minor releases attempted to fix pg_ctl to properly determine whether to send log messages to Window's Event Log, but got the test backwards.
Fix pgbench to correctly handle the combination
of -C
and -M prepared
options (Tom Lane)
In pg_upgrade, skip creating a deletion script when the new data directory is inside the old data directory (Bruce Momjian)
Blind application of the script in such cases would result in loss of the new data directory.
In PL/Perl, properly translate empty Postgres arrays into empty Perl arrays (Alex Hunsaker)
Make PL/Python cope with function names that aren't valid Python identifiers (Jim Nasby)
Fix multiple mistakes in the statistics returned
by contrib/pgstattuple
's pgstatindex()
function (Tom Lane)
Remove dependency on psed
in MSVC builds, since it's no
longer provided by core Perl (Michael Paquier, Andrew Dunstan)
Update time zone data files to tzdata release 2016c for DST law changes in Azerbaijan, Chile, Haiti, Palestine, and Russia (Altai, Astrakhan, Kirov, Sakhalin, Ulyanovsk regions), plus historical corrections for Lithuania, Moldova, and Russia (Kaliningrad, Samara, Volgograd).