diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml
index 4fd1feb6fa9..2c4c6422525 100644
--- a/doc/src/sgml/release-9.4.sgml
+++ b/doc/src/sgml/release-9.4.sgml
@@ -1,6 +1,1259 @@
+
+ Release 9.4.6
+
+
+ Release Date
+ 2016-02-11
+
+
+
+ This release contains a variety of fixes from 9.4.5.
+ For information about new features in the 9.4 major release, see
+ .
+
+
+
+ Migration to Version 9.4.6
+
+
+ A dump/restore is not required for those running 9.4.X.
+
+
+
+ However, if you are upgrading an installation that contains any GIN
+ indexes that use the (non-default) jsonb_path_ops> operator
+ class, see the first changelog entry below.
+
+
+
+ Also, if you are upgrading from a version earlier than 9.4.4,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+
+
+ Fix inconsistent hash calculations in jsonb_path_ops> GIN
+ indexes (Tom Lane)
+
+
+
+ When processing jsonb> values that contain both scalars and
+ sub-objects at the same nesting level, for example an array containing
+ both scalars and sub-arrays, key hash values could be calculated
+ differently than they would be for the same key in a different context.
+ This could result in queries not finding entries that they should find.
+ Fixing this means that existing indexes may now be inconsistent with the
+ new hash calculation code. Users
+ should REINDEX> jsonb_path_ops> GIN indexes after
+ installing this update to make sure that all searches work as expected.
+
+
+
+
+
+
+
+ Perform an immediate shutdown if the postmaster.pid> file
+ is removed (Tom Lane)
+
+
+
+ The postmaster now checks every minute or so
+ that postmaster.pid> is still there and still contains its
+ own PID. If not, it performs an immediate shutdown, as though it had
+ received SIGQUIT>. The main motivation for this change
+ is to ensure that failed buildfarm runs will get cleaned up without
+ manual intervention; but it also serves to limit the bad effects if a
+ DBA forcibly removes postmaster.pid> and then starts a new
+ postmaster.
+
+
+
+
+
+
+
+ In SERIALIZABLE> transaction isolation mode, serialization
+ anomalies could be missed due to race conditions during insertions
+ (Kevin Grittner, Thomas Munro)
+
+
+
+
+
+
+
+ Fix failure to emit appropriate WAL records when doing ALTER
+ TABLE ... SET TABLESPACE> for unlogged relations (Michael Paquier,
+ Andres Freund)
+
+
+
+ Even though the relation's data is unlogged, the move must be logged or
+ the relation will be inaccessible after a standby is promoted to master.
+
+
+
+
+
+
+
+ Fix possible misinitialization of unlogged relations at the end of
+ crash recovery (Andres Freund, Michael Paquier)
+
+
+
+
+
+
+
+ Ensure walsender slots are fully re-initialized when being re-used
+ (Magnus Hagander)
+
+
+
+
+
+
+
+ Fix ALTER COLUMN TYPE> to reconstruct inherited check
+ constraints properly (Tom Lane)
+
+
+
+
+
+
+
+ Fix REASSIGN OWNED> to change ownership of composite types
+ properly (Álvaro Herrera)
+
+
+
+
+
+
+
+ Fix REASSIGN OWNED> and ALTER OWNER> to correctly
+ update granted-permissions lists when changing owners of data types,
+ foreign data wrappers, or foreign servers (Bruce Momjian,
+ Álvaro Herrera)
+
+
+
+
+
+
+
+ Fix REASSIGN OWNED> to ignore foreign user mappings,
+ rather than fail (Álvaro Herrera)
+
+
+
+
+
+
+
+ Fix possible crash after doing query rewrite for an updatable view
+ (Stephen Frost)
+
+
+
+
+
+
+
+ Fix planner's handling of LATERAL> references (Tom
+ Lane)
+
+
+
+ This fixes some corner cases that led to failed to build any
+ N-way joins> or could not devise a query plan> planner
+ failures.
+
+
+
+
+
+
+
+ Add more defenses against bad planner cost estimates for GIN index
+ scans when the index's internal statistics are very out-of-date
+ (Tom Lane)
+
+
+
+
+
+
+
+ Make planner cope with hypothetical GIN indexes suggested by an index
+ advisor plug-in (Julien Rouhaud)
+
+
+
+
+
+
+
+ Speed up generation of unique table aliases in EXPLAIN> and
+ rule dumping, and ensure that generated aliases do not
+ exceed NAMEDATALEN> (Tom Lane)
+
+
+
+
+
+
+
+ Fix dumping of whole-row Vars in ROW()>
+ and VALUES()> lists (Tom Lane)
+
+
+
+
+
+
+
+ Translation of minus-infinity dates and timestamps to json>
+ or jsonb> incorrectly rendered them as plus-infinity (Tom Lane)
+
+
+
+
+
+
+
+ Fix possible internal overflow in numeric> division
+ (Dean Rasheed)
+
+
+
+
+
+
+
+ Fix enforcement of restrictions inside parentheses within regular
+ expression lookahead constraints (Tom Lane)
+
+
+
+ Lookahead constraints aren't allowed to contain backrefs, and
+ parentheses within them are always considered non-capturing, according
+ to the manual. However, the code failed to handle these cases properly
+ inside a parenthesized subexpression, and would give unexpected
+ results.
+
+
+
+
+
+
+
+ Conversion of regular expressions to indexscan bounds could produce
+ incorrect bounds from regexps containing lookahead constraints
+ (Tom Lane)
+
+
+
+
+
+
+
+ Fix regular-expression compiler to handle loops of constraint arcs
+ (Tom Lane)
+
+
+
+ The code added for CVE-2007-4772 was both incomplete, in that it didn't
+ handle loops involving more than one state, and incorrect, in that it
+ could cause assertion failures (though there seem to be no bad
+ consequences of that in a non-assert build). Multi-state loops would
+ cause the compiler to run until the query was canceled or it reached
+ the too-many-states error condition.
+
+
+
+
+
+
+
+ Improve memory-usage accounting in regular-expression compiler
+ (Tom Lane)
+
+
+
+ This causes the code to emit regular expression is too
+ complex> errors in some cases that previously used unreasonable
+ amounts of time and memory.
+
+
+
+
+
+
+
+ Improve performance of regular-expression compiler (Tom Lane)
+
+
+
+
+
+
+
+ Make %h> and %r> escapes
+ in log_line_prefix> work for messages emitted due
+ to log_connections> (Tom Lane)
+
+
+
+ Previously, %h>/%r> started to work just after a
+ new session had emitted the connection received> log message;
+ now they work for that message too.
+
+
+
+
+
+
+
+ On Windows, ensure the shared-memory mapping handle gets closed in
+ child processes that don't need it (Tom Lane, Amit Kapila)
+
+
+
+ This oversight resulted in failure to recover from crashes
+ whenever logging_collector> is turned on.
+
+
+
+
+
+
+
+ Fix possible failure to detect socket EOF in non-blocking mode on
+ Windows (Tom Lane)
+
+
+
+ It's not entirely clear whether this problem can happen in pre-9.5
+ branches, but if it did, the symptom would be that a walsender process
+ would wait indefinitely rather than noticing a loss of connection.
+
+
+
+
+
+
+
+ Avoid leaking a token handle during SSPI authentication
+ (Christian Ullrich)
+
+
+
+
+
+
+
+ In psql>, ensure that libreadline>'s idea
+ of the screen size is updated when the terminal window size changes
+ (Merlin Moncure)
+
+
+
+ Previously, libreadline> did not notice if the window
+ was resized during query output, leading to strange behavior during
+ later input of multiline queries.
+
+
+
+
+
+
+
+ Fix psql>'s \det> command to interpret its
+ pattern argument the same way as other \d> commands with
+ potentially schema-qualified patterns do (Reece Hart)
+
+
+
+
+
+
+
+ Avoid possible crash in psql>'s \c> command
+ when previous connection was via Unix socket and command specifies a
+ new hostname and same username (Tom Lane)
+
+
+
+
+
+
+
+ In pg_ctl start -w>, test child process status directly
+ rather than relying on heuristics (Tom Lane, Michael Paquier)
+
+
+
+ Previously, pg_ctl> relied on an assumption that the new
+ postmaster would always create postmaster.pid> within five
+ seconds. But that can fail on heavily-loaded systems,
+ causing pg_ctl> to report incorrectly that the
+ postmaster failed to start.
+
+
+
+ Except on Windows, this change also means that a pg_ctl start
+ -w> done immediately after another such command will now reliably
+ fail, whereas previously it would report success if done within two
+ seconds of the first command.
+
+
+
+
+
+
+
+ In pg_ctl start -w>, don't attempt to use a wildcard listen
+ address to connect to the postmaster (Kondo Yuta)
+
+
+
+ On Windows, pg_ctl> would fail to detect postmaster
+ startup if listen_addresses> is set to 0.0.0.0>
+ or ::>, because it would try to use that value verbatim as
+ the address to connect to, which doesn't work. Instead assume
+ that 127.0.0.1> or ::1>, respectively, is the
+ right thing to use.
+
+
+
+
+
+
+
+ In pg_ctl> on Windows, check service status to decide
+ where to send output, rather than checking if standard output is a
+ terminal (Michael Paquier)
+
+
+
+
+
+
+
+ In pg_dump> and pg_basebackup>, adopt
+ the GNU convention for handling tar-archive members exceeding 8GB
+ (Tom Lane)
+
+
+
+ The POSIX standard for tar> file format does not allow
+ archive member files to exceed 8GB, but most modern implementations
+ of tar> support an extension that fixes that. Adopt
+ this extension so that pg_dump> with
+
+
+
+
+
+
+ Fix assorted corner-case bugs in pg_dump>'s processing
+ of extension member objects (Tom Lane)
+
+
+
+
+
+
+
+ Fix improper quoting of domain constraint names
+ in pg_dump> (Elvis Pranskevichus)
+
+
+
+
+
+
+
+ Make pg_dump> mark a view's triggers as needing to be
+ processed after its rule, to prevent possible failure during
+ parallel pg_restore> (Tom Lane)
+
+
+
+
+
+
+
+ Ensure that relation option values are properly quoted
+ in pg_dump> (Kouhei Sutou, Tom Lane)
+
+
+
+ A reloption value that isn't a simple identifier or number could lead
+ to dump/reload failures due to syntax errors in CREATE statements
+ issued by pg_dump>. This is not an issue with any
+ reloption currently supported by core PostgreSQL>, but
+ extensions could allow reloptions that cause the problem.
+
+
+
+
+
+
+
+ Avoid repeated password prompts during parallel pg_dump>
+ (Zeus Kronion)
+
+
+
+
+
+
+
+ Fix pg_upgrade>'s file-copying code to handle errors
+ properly on Windows (Bruce Momjian)
+
+
+
+
+
+
+
+ Install guards in pgbench> against corner-case overflow
+ conditions during evaluation of script-specified division or modulo
+ operators (Fabien Coelho, Michael Paquier)
+
+
+
+
+
+
+
+ Suppress useless warning message when pg_receivexlog>
+ connects to a pre-9.4 server (Marco Nenciarini)
+
+
+
+
+
+
+
+ Fix failure to localize messages emitted
+ by pg_receivexlog> and pg_recvlogical>
+ (Ioseph Kim)
+
+
+
+
+
+
+
+ Avoid dump/reload problems when using both plpython2>
+ and plpython3> (Tom Lane)
+
+
+
+ In principle, both versions of PL/Python can be used in the same
+ database, though not in the same session (because the two versions of
+ libpython> cannot safely be used concurrently).
+ However, pg_restore> and pg_upgrade> both
+ do things that can fall foul of the same-session restriction. Work
+ around that by changing the timing of the check.
+
+
+
+
+
+
+
+
+
+ Fix PL/Python regression tests to pass with Python 3.5
+ (Peter Eisentraut)
+
+
+
+
+
+ Fix premature clearing of libpq>'s input buffer when
+ socket EOF is seen (Tom Lane)
+
+
+
+ This mistake caused libpq> to sometimes not report the
+ backend's final error message before reporting server closed the
+ connection unexpectedly>.
+
+
+
+
+
+
+
+ Improve libpq>'s handling of out-of-memory situations
+ (Michael Paquier, Amit Kapila, Heikki Linnakangas)
+
+
+
+
+
+
+
+ Fix order of arguments
+ in ecpg>-generated typedef> statements
+ (Michael Meskes)
+
+
+
+
+
+
+
+ Use %g> not %f> format
+ in ecpg>'s PGTYPESnumeric_from_double()>
+ (Tom Lane)
+
+
+
+
+
+
+
+ Fix ecpg>-supplied header files to not contain comments
+ continued from a preprocessor directive line onto the next line
+ (Michael Meskes)
+
+
+
+ Such a comment is rejected by ecpg>. It's not yet clear
+ whether ecpg> itself should be changed.
+
+
+
+
+
+
+
+ Fix hstore_to_json_loose()>'s test for whether
+ an hstore> value can be converted to a JSON number (Tom Lane)
+
+
+
+ Previously this function could be fooled by non-alphanumeric trailing
+ characters, leading to emitting syntactically-invalid JSON.
+
+
+
+
+
+
+
+ Ensure that contrib/pgcrypto>'s crypt()>
+ function can be interrupted by query cancel (Andreas Karlsson)
+
+
+
+
+
+
+
+ In contrib/postgres_fdw>, fix bugs triggered by use
+ of tableoid> in data-modifying commands (Etsuro Fujita,
+ Robert Haas)
+
+
+
+
+
+
+
+ Accept flex> versions later than 2.5.x
+ (Tom Lane, Michael Paquier)
+
+
+
+ Now that flex 2.6.0 has been released, the version checks in our build
+ scripts needed to be adjusted.
+
+
+
+
+
+
+
+ Fix ill-advised restriction of NAMEDATALEN> to be less
+ than 256 (Robert Haas, Tom Lane)
+
+
+
+
+
+
+
+ Improve reproducibility of build output by ensuring filenames are given
+ to the linker in a fixed order (Christoph Berg)
+
+
+
+ This avoids possible bitwise differences in the produced executable
+ files from one build to the next.
+
+
+
+
+
+
+
+ Install our missing> script where PGXS builds can find it
+ (Jim Nasby)
+
+
+
+ This allows sane behavior in a PGXS build done on a machine where build
+ tools such as bison> are missing.
+
+
+
+
+
+
+
+ Ensure that dynloader.h> is included in the installed
+ header files in MSVC builds (Michael Paquier)
+
+
+
+
+
+
+
+ Add variant regression test expected-output file to match behavior of
+ current libxml2> (Tom Lane)
+
+
+
+ The fix for libxml2>'s CVE-2015-7499 causes it not to
+ output error context reports in some cases where it used to do so.
+ This seems to be a bug, but we'll probably have to live with it for
+ some time, so work around it.
+
+
+
+
+
+
+
+ Update time zone data files to tzdata> release 2016a for
+ DST law changes in Cayman Islands, Metlakatla, and Trans-Baikal
+ Territory (Zabaykalsky Krai), plus historical corrections for Pakistan.
+
+
+
+
+
+
+
+
Release 9.4.5