diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml
index 5862cd83eb7..9fac4651317 100644
--- a/doc/src/sgml/release-10.sgml
+++ b/doc/src/sgml/release-10.sgml
@@ -1,6 +1,978 @@
+
+ Release 10.5
+
+
+ Release date:
+ 2018-08-09
+
+
+
+ This release contains a variety of fixes from 10.4.
+ For information about new features in major release 10, see
+ .
+
+
+
+ Migration to Version 10.5
+
+
+ A dump/restore is not required for those running 10.X.
+
+
+
+ However, if you are upgrading from a version earlier than 10.4,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+
+ Ensure that updates to the relfrozenxid
+ and relminmxid values
+ for nailed
system catalogs are processed in a timely
+ fashion (Andres Freund)
+
+
+
+ Overoptimistic caching rules could prevent these updates from being
+ seen by other sessions, leading to spurious errors and/or data
+ corruption. The problem was significantly worse for shared catalogs,
+ such as pg_authid, because the stale cache
+ data could persist into new sessions as well as existing ones.
+
+
+
+
+
+
+ Fix case where a freshly-promoted standby crashes before having
+ completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+ Horiguchi, Pavan Deolasee, Álvaro Herrera)
+
+
+
+ This led to a situation where the server did not think it had reached
+ a consistent database state during subsequent WAL replay, preventing
+ restart.
+
+
+
+
+
+
+ Avoid emitting a bogus WAL record when recycling an all-zero btree
+ page (Amit Kapila)
+
+
+
+ This mistake has been seen to cause assertion failures, and
+ potentially it could result in unnecessary query cancellations on hot
+ standby servers.
+
+
+
+
+
+
+ During WAL replay, guard against corrupted record lengths exceeding
+ 1GB (Michael Paquier)
+
+
+
+ Treat such a case as corrupt data. Previously, the code would try to
+ allocate space and get a hard error, making recovery impossible.
+
+
+
+
+
+
+ When ending recovery, delay writing the timeline history file as long
+ as possible (Heikki Linnakangas)
+
+
+
+ This avoids some situations where a failure during recovery cleanup
+ (such as a problem with a two-phase state file) led to inconsistent
+ timeline state on-disk.
+
+
+
+
+
+
+ Improve performance of WAL replay for transactions that drop many
+ relations (Fujii Masao)
+
+
+
+ This change reduces the number of times that shared buffers are
+ scanned, so that it is of most benefit when that setting is large.
+
+
+
+
+
+
+ Improve performance of lock releasing in standby server WAL replay
+ (Thomas Munro)
+
+
+
+
+
+
+ Make logical WAL senders report streaming state correctly (Simon
+ Riggs, Sawada Masahiko)
+
+
+
+ The code previously mis-detected whether or not it had caught up with
+ the upstream server.
+
+
+
+
+
+
+ Ensure that a snapshot is provided when executing data type input
+ functions in logical replication subscribers (Minh-Quan Tran,
+ Álvaro Herrera)
+
+
+
+ This omission led to failures in some cases, such as domains with
+ constraints using SQL-language functions.
+
+
+
+
+
+
+ Fix bugs in snapshot handling during logical decoding, allowing wrong
+ decoding results in rare cases (Arseny Sher, Álvaro Herrera)
+
+
+
+
+
+
+ Add subtransaction handling in logical-replication table
+ synchronization workers (Amit Khandekar, Robert Haas)
+
+
+
+ Previously, table synchronization could misbehave if any
+ subtransactions were aborted after modifying a table being
+ synchronized.
+
+
+
+
+
+
+ Fix mishandling of empty uncompressed posting list pages in GIN
+ indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
+
+
+
+ This could result in an assertion failure after pg_upgrade of a
+ pre-9.4 GIN index (9.4 and later will not create such pages).
+
+
+
+
+
+
+ Pad arrays of unnamed POSIX semaphores to reduce cache line sharing
+ (Thomas Munro)
+
+
+
+ This reduces contention on many-CPU systems, fixing a performance
+ regression (compared to previous releases) on Linux and FreeBSD.
+
+
+
+
+
+
+ Ensure that a process doing a parallel index scan will respond to
+ signals (Amit Kapila)
+
+
+
+ Previously, parallel workers could get stuck waiting for a lock on an
+ index page, and not notice requests to abort the query.
+
+
+
+
+
+
+ Ensure that VACUUM will respond to signals
+ within btree page deletion loops (Andres Freund)
+
+
+
+ Corrupted btree indexes could result in an infinite loop here, and
+ that previously wasn't interruptable without forcing a crash.
+
+
+
+
+
+
+ Fix hash-join costing mistake introduced with inner_unique
+ optimization (David Rowley)
+
+
+
+ This could lead to bad plan choices in situations where that
+ optimization was applicable.
+
+
+
+
+
+
+ Fix misoptimization of equivalence classes involving composite-type
+ columns (Tom Lane)
+
+
+
+ This resulted in failure to recognize that an index on a composite
+ column could provide the sort order needed for a mergejoin on that
+ column.
+
+
+
+
+
+
+ Fix planner to avoid ORDER/GROUP BY expression not found in
+ targetlist
errors in some queries with set-returning functions
+ (Tom Lane)
+
+
+
+
+
+
+ Fix handling of partition keys whose data type uses a polymorphic
+ btree operator class, such as arrays (Amit Langote, Álvaro
+ Herrera)
+
+
+
+
+
+
+ Fix SQL-standard FETCH FIRST syntax to allow
+ parameters ($n), as the
+ standard expects (Andrew Gierth)
+
+
+
+
+
+
+ Remove undocumented restriction against duplicate partition key
+ columns (Yugo Nagata)
+
+
+
+
+
+
+ Disallow temporary tables from being partitions of non-temporary
+ tables (Amit Langote, Michael Paquier)
+
+
+
+ While previously allowed, this case didn't work reliably.
+
+
+
+
+
+
+ Fix EXPLAIN's accounting for resource usage,
+ particularly buffer accesses, in parallel workers
+ (Amit Kapila, Robert Haas)
+
+
+
+
+
+
+ Fix SHOW ALL to show all settings to roles that are
+ members of pg_read_all_settings, and also allow
+ such roles to see source filename and line number in
+ the pg_settings view (Laurenz Albe,
+ Álvaro Herrera)
+
+
+
+
+
+
+ Fix failure to schema-qualify some object names
+ in getObjectDescription
+ and getObjectIdentity output
+ (Kyotaro Horiguchi, Tom Lane)
+
+
+
+ Names of collations, conversions, text search objects, publication
+ relations, and extended statistics objects were not schema-qualified
+ when they should be.
+
+
+
+
+
+
+ Fix CREATE AGGREGATE type checking so that
+ parallelism support functions can be attached to variadic aggregates
+ (Alexey Bashtanov)
+
+
+
+
+
+
+ Widen COPY FROM's current-line-number counter
+ from 32 to 64 bits (David Rowley)
+
+
+
+ This avoids two problems with input exceeding 4G lines: COPY
+ FROM WITH HEADER would drop a line every 4G lines, not only
+ the first line, and error reports could show a wrong line number.
+
+
+
+
+
+
+ Allow replication slots to be dropped in single-user mode
+ (Álvaro Herrera)
+
+
+
+ This use-case was accidentally broken in release 10.0.
+
+
+
+
+
+
+ Fix incorrect results from variance(int4) and
+ related aggregates when run in parallel aggregation mode
+ (David Rowley)
+
+
+
+
+
+
+ Process TEXT and CDATA nodes
+ correctly in xmltable() column expressions
+ (Markus Winand)
+
+
+
+
+
+
+ Cope with possible failure of OpenSSL's
+ RAND_bytes() function
+ (Dean Rasheed, Michael Paquier)
+
+
+
+ Under rare circumstances, this oversight could result in could
+ not generate random cancel key
failures that could only be
+ resolved by restarting the postmaster.
+
+
+
+
+
+
+ Fix libpq's handling of some cases
+ where hostaddr is specified
+ (Hari Babu, Tom Lane, Robert Haas)
+
+
+
+ PQhost() gave misleading or incorrect results
+ in some cases. Now, it uniformly returns the host name if specified,
+ or the host address if only that is specified, or the default host
+ name (typically /tmp
+ or localhost) if both parameters are omitted.
+
+
+
+ Also, the wrong value might be compared to the server name when
+ verifying an SSL certificate.
+
+
+
+ Also, the wrong value might be compared to the host name field in
+ ~/.pgpass. Now, that field is compared to the
+ host name if specified, or the host address if only that is specified,
+ or localhost if both parameters are omitted.
+
+
+
+ Also, an incorrect error message was reported for an unparseable
+ hostaddr value.
+
+
+
+ Also, when the host, hostaddr,
+ or port parameters contain comma-separated
+ lists, libpq is now more careful to treat
+ empty elements of a list as selecting the default behavior.
+
+
+
+
+
+
+ Add a string freeing function
+ to ecpg's pgtypes
+ library, so that cross-module memory management problems can be
+ avoided on Windows (Takayuki Tsunakawa)
+
+
+
+ On Windows, crashes can ensue if the free call
+ for a given chunk of memory is not made from the same DLL
+ that malloc'ed the memory.
+ The pgtypes library sometimes returns strings
+ that it expects the caller to free, making it impossible to follow
+ this rule. Add a PGTYPESchar_free() function
+ that just wraps free, allowing applications
+ to follow this rule.
+
+
+
+
+
+
+ Fix ecpg's support for long
+ long variables on Windows, as well as other platforms that
+ declare strtoll/strtoull
+ nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+
+
+
+
+
+
+ Fix misidentification of SQL statement type in PL/pgSQL, when a rule
+ change causes a change in the semantics of a statement intra-session
+ (Tom Lane)
+
+
+
+ This error led to assertion failures, or in rare cases, failure to
+ enforce the INTO STRICT option as expected.
+
+
+
+
+
+
+ Fix password prompting in client programs so that echo is properly
+ disabled on Windows when stdin is not the
+ terminal (Matthew Stickney)
+
+
+
+
+
+
+ Further fix mis-quoting of values for list-valued GUC variables in
+ dumps (Tom Lane)
+
+
+
+ The previous fix for quoting of search_path and
+ other list-valued variables in pg_dump
+ output turned out to misbehave for empty-string list elements, and it
+ risked truncation of long file paths.
+
+
+
+
+
+
+ Fix pg_dump's failure to
+ dump REPLICA IDENTITY properties for constraint
+ indexes (Tom Lane)
+
+
+
+ Manually-created unique indexes were properly marked, but not those
+ created by declaring UNIQUE or PRIMARY
+ KEY constraints.
+
+
+
+
+
+
+ Make pg_upgrade check that the old server
+ was shut down cleanly (Bruce Momjian)
+
+
+
+ The previous check could be fooled by an immediate-mode shutdown.
+
+
+
+
+
+
+ Fix contrib/hstore_plperl to look through Perl
+ scalar references, and to not crash if it doesn't find a hash
+ reference where it expects one (Tom Lane)
+
+
+
+
+
+
+ Fix crash in contrib/ltree's
+ lca() function when the input array is empty
+ (Pierre Ducroquet)
+
+
+
+
+
+
+ Fix various error-handling code paths in which an incorrect error code
+ might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+
+
+
+
+
+
+ Rearrange makefiles to ensure that programs link to freshly-built
+ libraries (such as libpq.so) rather than ones
+ that might exist in the system library directories (Tom Lane)
+
+
+
+ This avoids problems when building on platforms that supply old copies
+ of PostgreSQL libraries.
+
+
+
+
+
+
+ Update time zone data files to tzdata
+ release 2018e for DST law changes in North Korea, plus historical
+ corrections for Czechoslovakia.
+
+
+
+ This update includes a redefinition of daylight savings
+ in Ireland, as well as for some past years in Namibia and
+ Czechoslovakia. In those jurisdictions, legally standard time is
+ observed in summer, and daylight savings time in winter, so that the
+ daylight savings offset is one hour behind standard time not one hour
+ ahead. This does not affect either the actual UTC offset or the
+ timezone abbreviations in use; the only known effect is that
+ the is_dst column in
+ the pg_timezone_names view will now be true
+ in winter and false in summer in these cases.
+
+
+
+
+
+
+
+
Release 10.4