diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml
index ede4e8e5c21..c55c194266a 100644
--- a/doc/src/sgml/release-9.4.sgml
+++ b/doc/src/sgml/release-9.4.sgml
@@ -1,6 +1,342 @@
+
+ Release 9.4.22
+
+
+ Release date:
+ 2019-05-09
+
+
+
+ This release contains a variety of fixes from 9.4.21.
+ For information about new features in the 9.4 major release, see
+ .
+
+
+
+ The PostgreSQL community will stop
+ releasing updates for the 9.4.X release series in February 2020.
+ Users are encouraged to update to a newer release branch soon.
+
+
+
+ Migration to Version 9.4.22
+
+
+ A dump/restore is not required for those running 9.4.X.
+
+
+
+ However, if you are upgrading from a version earlier than 9.4.18,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+ Fix behavior for an UPDATE
+ or DELETE on an inheritance tree or partitioned
+ table in which every table can be excluded (Amit Langote, Tom Lane)
+
+
+
+ In such cases, the query did not report the correct set of output
+ columns when a RETURNING clause was present, and
+ if there were any statement-level triggers that should be fired, it
+ didn't fire them.
+
+
+
+
+
+ Fix handling of explicit DEFAULT items in
+ an INSERT ... VALUES command with
+ multiple VALUES rows, if the target relation is
+ an updatable view (Amit Langote, Dean Rasheed)
+
+
+
+ When the updatable view has no default for the column but its
+ underlying table has one, a single-row INSERT
+ ... VALUES will use the underlying table's default.
+ In the multi-row case, however, NULL was always used. Correct it to
+ act like the single-row case.
+
+
+
+
+
+ Fix CREATE VIEW to allow zero-column views
+ (Ashutosh Sharma)
+
+
+
+ We should allow this for consistency with allowing zero-column
+ tables. Since a table can be converted to a view, zero-column views
+ could be created even with the restriction in place, leading to
+ dump/reload failures.
+
+
+
+
+
+ Accept XML documents as valid values of type xml
+ when xmloption is set
+ to content, as required by SQL:2006 and later
+ (Chapman Flack)
+
+
+
+ Previously PostgreSQL followed the
+ SQL:2003 definition, which doesn't allow this. But that creates a
+ serious problem for dump/restore: there is no setting
+ of xmloption that will accept all valid XML data.
+ Hence, switch to the 2006 definition.
+
+
+
+ pg_dump is also modified to emit
+ SET xmloption = content while restoring data,
+ ensuring that dump/restore works even if the prevailing
+ setting is document.
+
+
+
+
+
+ Improve server's startup-time checks for whether a pre-existing
+ shared memory segment is still in use (Noah Misch)
+
+
+
+ The postmaster is now more likely to detect that there are still
+ active processes from a previous postmaster incarnation, even if
+ the postmaster.pid file has been removed.
+
+
+
+
+
+ Fix incompatibility of GIN-index WAL records (Alexander Korotkov)
+
+
+
+ A fix applied in February's minor releases was not sufficiently
+ careful about backwards compatibility, leading to problems if a
+ standby server of that vintage reads GIN page-deletion WAL records
+ generated by a primary server of a previous minor release.
+
+
+
+
+
+ Tolerate EINVAL and ENOSYS
+ error results, where appropriate, for fsync
+ and sync_file_range calls
+ (Thomas Munro, James Sewell)
+
+
+
+ The previous change to panic on file synchronization failures turns
+ out to have been excessively paranoid for certain cases where a
+ failure is predictable and essentially means operation not
+ supported.
+
+
+
+
+
+ Fix failed to build any N-way
+ joins planner failures with lateral references leading out
+ of FULL outer joins (Tom Lane)
+
+
+
+
+
+ Avoid O(N^2) performance issue when rolling back a transaction that
+ created many tables (Tomas Vondra)
+
+
+
+
+
+ Fix race conditions in management of dynamic shared memory
+ (Thomas Munro)
+
+
+ These could lead to dsa_area could not attach to
+ segment or cannot unpin a segment that is not
+ pinned errors.
+
+
+
+
+
+ Fix race condition in which a hot-standby postmaster could fail to
+ shut down after receiving a smart-shutdown request (Tom Lane)
+
+
+
+
+
+ Tighten validation of encoded SCRAM-SHA-256 and MD5 passwords
+ (Jonathan Katz)
+
+
+
+ A password string that had the right initial characters could be
+ mistaken for one that is correctly hashed into SCRAM-SHA-256 or MD5
+ format. The password would be accepted but would be unusable later.
+
+
+
+
+
+ Fix handling of lc_time settings that imply an
+ encoding different from the database's encoding (Juan José
+ Santamaría Flecha, Tom Lane)
+
+
+
+ Localized month or day names that include non-ASCII characters
+ previously caused unexpected errors or wrong output in such locales.
+
+
+
+
+
+ Disallow NaN as a value for floating-point server
+ parameters (Tom Lane)
+
+
+
+
+
+ Rearrange REINDEX processing to avoid assertion
+ failures when reindexing individual indexes
+ of pg_class (Andres Freund, Tom Lane)
+
+
+
+
+
+ Fix planner assertion failure for parameterized dummy paths (Tom Lane)
+
+
+
+
+
+ Insert correct test function in the result
+ of SnapBuildInitialSnapshot() (Antonin Houska)
+
+
+
+ No core code cares about this, but some extensions do.
+
+
+
+
+
+ Fix intermittent could not reattach to shared memory
+ session startup failures on Windows (Noah Misch)
+
+
+
+ A previously unrecognized source of these failures is creation of
+ thread stacks for a process's default thread pool. Arrange for such
+ stacks to be allocated in a different memory region.
+
+
+
+
+
+ Fix error detection in directory scanning on Windows (Konstantin
+ Knizhnik)
+
+
+
+ Errors, such as lack of permissions to read the directory, were not
+ detected or reported correctly; instead the code silently acted as
+ though the directory were empty.
+
+
+
+
+
+ Fix grammar problems in ecpg (Tom Lane)
+
+
+
+ A missing semicolon led to mistranslation
+ of SET variable =
+ DEFAULT (but
+ not SET variable TO
+ DEFAULT) in ecpg programs,
+ producing syntactically invalid output that the server would reject.
+ Additionally, in a DROP TYPE or DROP
+ DOMAIN command that listed multiple type names, only the
+ first type name was actually processed.
+
+
+
+
+
+ Fix possible buffer overruns in ecpg's
+ processing of include filenames (Liu Huailing, Fei Wu)
+
+
+
+
+
+ Avoid crash in contrib/vacuumlo if
+ an lo_unlink() call failed (Tom Lane)
+
+
+
+
+
+ Sync our copy of the timezone library with IANA tzcode release 2019a
+ (Tom Lane)
+
+
+
+ This corrects a small bug in zic that
+ caused it to output an incorrect year-2440 transition in
+ the Africa/Casablanca zone, and adds support
+ for zic's new option.
+
+
+
+
+
+ Update time zone data files to tzdata
+ release 2019a for DST law changes in Palestine and Metlakatla,
+ plus historical corrections for Israel.
+
+
+
+ Etc/UCT is now a backward-compatibility link
+ to Etc/UTC, instead of being a separate zone that
+ generates the abbreviation UCT, which nowadays is
+ typically a typo. PostgreSQL will still
+ accept UCT as an input zone abbreviation, but it
+ won't output it.
+
+
+
+
+
+
+
+
Release 9.4.21