diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml
index cf87c520d6c..b3a7aa16cc6 100644
--- a/doc/src/sgml/release-9.1.sgml
+++ b/doc/src/sgml/release-9.1.sgml
@@ -1,6 +1,268 @@
+
+ Release 9.1.23
+
+
+ Release Date
+ 2016-08-11
+
+
+
+ This release contains a variety of fixes from 9.1.22.
+ For information about new features in the 9.1 major release, see
+ .
+
+
+
+ The PostgreSQL> community will stop releasing updates
+ for the 9.1.X release series in September 2016.
+ Users are encouraged to update to a newer release branch soon.
+
+
+
+ Migration to Version 9.1.23
+
+
+ A dump/restore is not required for those running 9.1.X.
+
+
+
+ However, if you are upgrading from a version earlier than 9.1.16,
+ see .
+
+
+
+
+
+ Changes
+
+
+
+
+
+ Fix corner-case misbehaviors for IS NULL>/IS NOT
+ NULL> applied to nested composite values (Andrew Gierth, Tom Lane)
+
+
+
+ The SQL standard specifies that IS NULL> should return
+ TRUE for a row of all null values (thus ROW(NULL,NULL) IS
+ NULL> yields TRUE), but this is not meant to apply recursively
+ (thus ROW(NULL, ROW(NULL,NULL)) IS NULL> yields FALSE).
+ The core executor got this right, but certain planner optimizations
+ treated the test as recursive (thus producing TRUE in both cases),
+ and contrib/postgres_fdw> could produce remote queries
+ that misbehaved similarly.
+
+
+
+
+
+ Make the inet> and cidr> data types properly reject
+ IPv6 addresses with too many colon-separated fields (Tom Lane)
+
+
+
+
+
+ Prevent crash in close_ps()>
+ (the point> ##> lseg> operator)
+ for NaN input coordinates (Tom Lane)
+
+
+
+ Make it return NULL instead of crashing.
+
+
+
+
+
+ Avoid unsafe intermediate state during expensive paths
+ through heap_update()> (Masahiko Sawada, Andres Freund)
+
+
+
+ Previously, these cases locked the target tuple (by setting its XMAX)
+ but did not WAL-log that action, thus risking data integrity problems
+ if the page were spilled to disk and then a database crash occurred
+ before the tuple update could be completed.
+
+
+
+
+
+ Avoid consuming a transaction ID during VACUUM>
+ (Alexander Korotkov)
+
+
+
+ Some cases in VACUUM> unnecessarily caused an XID to be
+ assigned to the current transaction. Normally this is negligible,
+ but if one is up against the XID wraparound limit, consuming more
+ XIDs during anti-wraparound vacuums is a very bad thing.
+
+
+
+
+
+ Avoid canceling hot-standby queries during VACUUM FREEZE>
+ (Simon Riggs, Álvaro Herrera)
+
+
+
+ VACUUM FREEZE> on an otherwise-idle master server could
+ result in unnecessary cancellations of queries on its standby
+ servers.
+
+
+
+
+
+ When a manual ANALYZE> specifies a column list, don't
+ reset the table's changes_since_analyze> counter
+ (Tom Lane)
+
+
+
+ If we're only analyzing some columns, we should not prevent routine
+ auto-analyze from happening for the other columns.
+
+
+
+
+
+ Fix ANALYZE>'s overestimation of n_distinct>
+ for a unique or nearly-unique column with many null entries (Tom
+ Lane)
+
+
+
+ The nulls could get counted as though they were themselves distinct
+ values, leading to serious planner misestimates in some types of
+ queries.
+
+
+
+
+
+ Prevent autovacuum from starting multiple workers for the same shared
+ catalog (Álvaro Herrera)
+
+
+
+ Normally this isn't much of a problem because the vacuum doesn't take
+ long anyway; but in the case of a severely bloated catalog, it could
+ result in all but one worker uselessly waiting instead of doing
+ useful work on other tables.
+
+
+
+
+
+ Fix contrib/btree_gin> to handle the smallest
+ possible bigint> value correctly (Peter Eisentraut)
+
+
+
+
+
+ Teach libpq to correctly decode server version from future servers
+ (Peter Eisentraut)
+
+
+
+ It's planned to switch to two-part instead of three-part server
+ version numbers for releases after 9.6. Make sure
+ that PQserverVersion()> returns the correct value for
+ such cases.
+
+
+
+
+
+ Fix ecpg>'s code for unsigned long long>
+ array elements (Michael Meskes)
+
+
+
+
+
+ Make pg_basebackup> accept -Z 0> as
+ specifying no compression (Fujii Masao)
+
+
+
+
+
+
+ Revert to the old heuristic timeout for pg_ctl start -w>
+ (Tom Lane)
+
+
+
+ The new method adopted as of release 9.1.20 does not work
+ when silent_mode> is enabled, so go back to the old way.
+
+
+
+
+
+ Fix makefiles' rule for building AIX shared libraries to be safe for
+ parallel make (Noah Misch)
+
+
+
+
+
+ Fix TAP tests and MSVC scripts to work when build directory's path
+ name contains spaces (Michael Paquier, Kyotaro Horiguchi)
+
+
+
+
+
+ Make regression tests safe for Danish and Welsh locales (Jeff Janes,
+ Tom Lane)
+
+
+
+ Change some test data that triggered the unusual sorting rules of
+ these locales.
+
+
+
+
+
+ Update our copy of the timezone code to match
+ IANA's tzcode> release 2016c (Tom Lane)
+
+
+
+ This is needed to cope with anticipated future changes in the time
+ zone data files. It also fixes some corner-case bugs in coping with
+ unusual time zones.
+
+
+
+
+
+ Update time zone data files to tzdata> release 2016f
+ for DST law changes in Kemerovo and Novosibirsk, plus historical
+ corrections for Azerbaijan, Belarus, and Morocco.
+
+
+
+
+
+
+
+
Release 9.1.22