diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml
index cadbbfd3de3..3ee0fb92d26 100644
--- a/doc/src/sgml/release-12.sgml
+++ b/doc/src/sgml/release-12.sgml
@@ -1,6 +1,1493 @@
+
+ Release 12.3
+
+
+ Release date:
+ 2020-05-14
+
+
+
+ This release contains a variety of fixes from 12.2.
+ For information about new features in major release 12, see
+ .
+
+
+
+ Migration to Version 12.3
+
+
+ A dump/restore is not required for those running 12.X.
+
+
+
+ However, if you are upgrading from a version earlier than 12.2,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+
+ Fix possible failure with GENERATED columns
+ (David Rowley)
+
+
+
+ If a GENERATED column's value is an exact copy of
+ another column of the table (and it is a pass-by-reference data
+ type), it was possible to crash or insert corrupted data into the
+ table. While it would be rather pointless for
+ a GENERATED expression to just duplicate another
+ column, an expression using a function that sometimes returns its
+ input unchanged could create the situation.
+
+
+
+
+
+
+ Handle inheritance of generated columns better (Peter Eisentraut)
+
+
+
+ When a table column is inherited during CREATE TABLE
+ ... INHERITS, disallow changing any generation properties
+ when the parent column is already
+ marked GENERATED; but allow a child column to be
+ marked GENERATED when its parent is not.
+
+
+
+
+
+
+ Fix cross-column references in CREATE TABLE LIKE INCLUDING
+ GENERATED (Peter Eisentraut)
+
+
+
+ CREATE TABLE ... LIKE failed when trying to copy
+ a GENERATED expression that references a
+ physically-later column.
+
+
+
+
+
+
+ Propagate ALTER TABLE ... SET STORAGE to indexes
+ (Peter Eisentraut)
+
+
+
+ Non-expression index columns have always copied
+ the attstorage property of their table
+ column at creation. Update them when ALTER TABLE ... SET
+ STORAGE is done, to maintain consistency.
+
+
+
+
+
+
+ Preserve the indisclustered setting of
+ indexes rewritten by ALTER TABLE (Amit Langote,
+ Justin Pryzby)
+
+
+
+ Previously, ALTER TABLE lost track of which index
+ had been used for CLUSTER.
+
+
+
+
+
+
+ Preserve the replica identity properties of indexes rewritten
+ by ALTER TABLE (Quan Zongliang, Peter Eisentraut)
+
+
+
+
+
+
+ Preserve the indisclustered setting of
+ indexes rebuilt by REINDEX CONCURRENTLY
+ (Justin Pryzby)
+
+
+
+
+
+
+ Lock objects sooner during DROP OWNED BY
+ (Álvaro Herrera)
+
+
+
+ This avoids failures in race-condition cases where another session is
+ deleting some of the same objects.
+
+
+
+
+
+
+ Fix error-case processing for CREATE ROLE ... IN
+ ROLE (Andrew Gierth)
+
+
+
+ Some error cases would be reported as unexpected node
+ type or the like, instead of the intended message.
+
+
+
+
+
+
+ Ensure that when a partition is detached, any triggers cloned from
+ its formerly-parent table are removed (Justin Pryzby)
+
+
+
+
+
+
+ Fix crash when COLLATE is applied to a
+ non-collatable type in a partition bound expression (Dmitry Dolgov)
+
+
+
+
+
+
+ Ensure that unique indexes over partitioned tables match the
+ equality semantics of the partitioning key (Guancheng Luo)
+
+
+
+ This would only be an issue with index opclasses that have unusual
+ notions of equality, but it's wrong in theory, so check.
+
+
+
+
+
+
+ Ensure that members of the pg_read_all_stats role
+ can read all statistics views, as expected (Magnus Hagander)
+
+
+
+ The functions underlying
+ the pg_stat_progress_* views had not gotten
+ this memo.
+
+
+
+
+
+
+ Repair performance regression in
+ information_schema.triggers
+ view (Tom Lane)
+
+
+
+ This patch redefines that view so that an
+ outer WHERE clause constraining the table name
+ can be pushed down into the view, allowing its calculations to be
+ done only for triggers belonging to the table of interest rather
+ than all triggers in the database. In a database with many triggers
+ this would make a significant speed difference for queries of that
+ form. Since things worked that way before v11, this is a potential
+ performance regression. Users who find this to be a problem can fix
+ it by replacing the view definition (or, perhaps, just deleting and
+ reinstalling the whole information_schema
+ schema).
+
+
+
+
+
+
+ Repair performance regression in floating point overflow/underflow
+ detection (Emre Hasegeli)
+
+
+
+ Previous refactoring had resulted in isinf()
+ being called extra times in some hot code paths.
+
+
+
+
+
+
+ Fix full text search to handle NOT above a phrase search correctly
+ (Tom Lane)
+
+
+
+ Queries such as !(foo<->bar) failed to find
+ matching rows when implemented as a GiST or GIN index search.
+
+
+
+
+
+
+ Fix full text search for cases where a phrase search includes an
+ item with both prefix matching and a weight restriction (Tom Lane)
+
+
+
+
+
+
+ Fix ts_headline() to make better headline
+ selections when working with phrase queries (Tom Lane)
+
+
+
+
+
+
+ Fix bugs in gin_fuzzy_search_limit processing
+ (Adé Heyward, Tom Lane)
+
+
+
+ A small value of gin_fuzzy_search_limit could
+ result in unexpected slowness due to unintentionally rescanning the
+ same index page many times. Another code path failed to apply the
+ intended filtering at all, possibly returning too many values.
+
+
+
+
+
+
+ Allow input of type circle to accept the format
+ (x,y),r
+ as the documentation says it does (David Zhang)
+
+
+
+
+
+
+ Make the get_bit()
+ and set_bit() functions cope
+ with bytea strings longer than 256MB (Movead Li)
+
+
+
+ Since the bit number argument is only int4, it's
+ impossible to use these functions to access bits beyond the first
+ 256MB of a long bytea. We'll widen the argument
+ to int8 in v13, but in the meantime, allow these
+ functions to work on the initial substring of a
+ long bytea.
+
+
+
+
+
+
+ Ignore file-not-found errors in pg_ls_waldir()
+ and allied functions (Tom Lane)
+
+
+
+ This prevents a race condition failure if a file is removed between
+ when we see its directory entry and when we attempt
+ to stat() it.
+
+
+
+
+
+
+ Avoid possibly leaking an open-file descriptor for a directory
+ in pg_ls_dir(),
+ pg_timezone_names(),
+ pg_tablespace_databases(), and allied functions
+ (Justin Pryzby)
+
+
+
+
+
+
+ Fix polymorphic-function type resolution to correctly infer the
+ actual type of an anyarray output when given only
+ an anyrange input (Tom Lane)
+
+
+
+
+
+
+ Fix server's connection-startup logic for case where a GSSAPI
+ connection is rejected because support is not compiled in, and the
+ client then tries SSL instead (Andrew Gierth)
+
+
+
+ This led to a bogus unsupported frontend protocol
+ failure.
+
+
+
+
+
+
+ Fix memory leakage during GSSAPI encryption (Tom Lane)
+
+
+
+ Both the backend and libpq would leak memory equivalent to the total
+ amount of data sent during the session, if GSSAPI encryption is in use.
+
+
+
+
+
+
+ Fix query-lifespan memory leak for a set-returning function used in
+ a query's FROM clause (Andres Freund)
+
+
+
+
+
+
+ Avoid leakage of a hashed subplan's hash tables across multiple
+ executions (Andreas Karlsson, Tom Lane)
+
+
+
+ This mistake could result in severe memory bloat if a query
+ re-executed a hashed subplan enough times.
+
+
+
+
+
+
+ Improve planner's handling of no-op domain coercions (Tom Lane)
+
+
+
+ Fix some cases where a domain coercion that does nothing was not
+ completely removed from expressions.
+
+
+
+
+
+
+ Avoid unlikely crash when REINDEX is terminated
+ by a session-shutdown signal (Tom Lane)
+
+
+
+
+
+
+ Fix low-probability crash after constraint violation errors in
+ partitioned tables (Andres Freund)
+
+
+
+
+
+
+ Prevent printout of possibly-incorrect hash join table statistics
+ in EXPLAIN (Konstantin Knizhnik, Tom Lane, Thomas
+ Munro)
+
+
+
+
+
+
+ Fix reporting of elapsed time for heap truncation steps
+ in VACUUM VERBOSE (Tatsuhito Kasahara)
+
+
+
+
+
+
+ Fix possible undercounting of deleted B-tree index pages
+ in VACUUM VERBOSE output (Peter Geoghegan)
+
+
+
+
+
+
+
+
+
+ Fix wrong bookkeeping for oldest deleted page in a B-tree index
+ (Peter Geoghegan)
+
+
+
+ This could cause subtly wrong decisions about
+ when VACUUM can skip an index cleanup scan;
+ although it appears there may be no significant user-visible effects
+ from that.
+
+
+
+
+
+
+ Ensure that TimelineHistoryRead and TimelineHistoryWrite wait states
+ are reported in all code paths that read or write timeline history
+ files (Masahiro Ikeda)
+
+
+
+
+
+
+ Avoid possibly showing waiting twice in a process's
+ PS status (Masahiko Sawada)
+
+
+
+
+
+
+ Avoid race condition when ANALYZE replaces the
+ catalog tuple for extended statistics data (Dean Rasheed)
+
+
+
+
+
+
+ Remove ill-considered skip of redundant
+ anti-wraparound vacuums (Michael Paquier)
+
+
+
+ This avoids a corner case where autovacuum could get into a loop of
+ repeatedly trying and then skipping the same vacuum job.
+
+
+
+
+
+
+ Ensure INCLUDE'd columns are always removed from B-tree pivot tuples
+ (Peter Geoghegan)
+
+
+
+ This mistake wasted space in some rare cases, but was otherwise
+ harmless.
+
+
+
+
+
+
+ Cope with invalid TOAST indexes that could be left over after a
+ failed REINDEX CONCURRENTLY (Julien Rouhaud)
+
+
+
+
+
+
+ Ensure that valid index dependencies are left behind after a
+ failed REINDEX CONCURRENTLY (Michael Paquier)
+
+
+
+ Previously the old index could be left with
+ no pg_depend links at all, so that for
+ example it would not get dropped if the parent table is dropped.
+
+
+
+
+
+
+ Avoid failure if autovacuum tries to access a just-dropped temporary
+ schema (Tom Lane)
+
+
+
+ This hazard only arises if a superuser manually drops a temporary
+ schema; which isn't normal practice, but should work.
+
+
+
+
+
+
+ Avoid premature recycling of WAL segments during crash recovery
+ (Jehan-Guillaume de Rorthais)
+
+
+
+ WAL segments that become ready to be archived during crash recovery
+ were potentially recycled without being archived.
+
+
+
+
+
+
+ Remove bogus subtransaction logged without previous top-level
+ txn record error check in logical decoding (Arseny Sher,
+ Amit Kapila)
+
+
+
+ This condition is legitimately reachable in various scenarios, so
+ remove the check.
+
+
+
+
+
+
+ Avoid possible failure after a replication slot copy, due to
+ premature removal of WAL data (Masahiko Sawada, Arseny Sher)
+
+
+
+
+
+
+ Ensure that a replication
+ slot's io_in_progress_lock is released in failure
+ code paths (Pavan Deolasee)
+
+
+
+ This could result in a walsender later becoming stuck waiting for
+ the lock.
+
+
+
+
+
+
+ Ensure that generated columns are correctly handled during updates
+ issued by logical replication (Peter Eisentraut)
+
+
+
+
+
+
+ Fix race conditions in synchronous standby management (Tom Lane)
+
+
+
+ During a change in the synchronous_standby_names
+ setting, there was a window in which wrong decisions could be made
+ about whether it is OK to release transactions that are waiting for
+ synchronous commit. Another hazard for similarly wrong decisions
+ existed if a walsender process exited and was immediately replaced
+ by another.
+
+
+
+
+
+
+ Ensure nextXid can't go backwards on a standby
+ server (Eka Palamadai)
+
+
+
+ This race condition could allow incorrect hot standby feedback
+ messages to be sent back to the primary server, potentially allowing
+ VACUUM to run too soon on the primary.
+
+
+
+
+
+
+ Add missing SQLSTATE values to a few error reports (Sawada Masahiko)
+
+
+
+
+
+
+ Fix PL/pgSQL to reliably refuse to execute an event trigger function
+ as a plain function (Tom Lane)
+
+
+
+
+
+
+ Fix memory leak in libpq when
+ using sslmode=verify-full (Roman Peshkurov)
+
+
+
+ Certificate verification during connection startup could leak some
+ memory. This would become an issue if a client process opened many
+ database connections during its lifetime.
+
+
+
+
+
+
+ Fix ecpg to treat an argument of
+ just - as meaning read
+ from stdin on all platforms (Tom Lane)
+
+
+
+
+
+
+ Fix crash in psql when attempting to
+ re-establish a failed connection (Michael Paquier)
+
+
+
+
+
+
+ Allow tab-completion of the filename argument
+ to psql's \gx command
+ (Vik Fearing)
+
+
+
+
+
+
+ Add pg_dump support for ALTER
+ ... DEPENDS ON EXTENSION (Álvaro Herrera)
+
+
+
+ pg_dump previously ignored dependencies added
+ this way, causing them to be forgotten during dump/restore or
+ pg_upgrade.
+
+
+
+
+
+
+ Fix pg_dump to dump comments on RLS
+ policy objects (Tom Lane)
+
+
+
+
+
+
+ In pg_dump, postpone restore of event
+ triggers till the end (Fabrízio de Royes Mello, Hamid Akhtar,
+ Tom Lane)
+
+
+
+ This minimizes the risk that an event trigger could interfere with
+ the restoration of other objects.
+
+
+
+
+
+
+ Ensure that pg_basebackup generates valid
+ tar files (Robert Haas)
+
+
+
+ In some cases a partial block of zeroes would be added to the end of
+ the file. While this seems to be harmless with common versions of
+ tar, it's not OK per the POSIX file format spec.
+
+
+
+
+
+
+ Make pg_checksums skip tablespace
+ subdirectories that belong to a
+ different PostgreSQL major version
+ (Michael Banck, Bernd Helmle)
+
+
+
+ Such subdirectories don't really belong to our database cluster, and
+ so must not be processed.
+
+
+
+
+
+
+ Ignore temporary copies of pg_internal.init
+ in pg_checksums and related
+ programs (Michael Paquier)
+
+
+
+
+
+
+ Fix quoting of ,
+ and values
+ in createdb utility (Michael Paquier)
+
+
+
+
+
+
+ contrib/lo's lo_manage()
+ function crashed if called directly rather than as a trigger (Tom
+ Lane)
+
+
+
+
+
+
+ In contrib/ltree,
+ protect against overflow of ltree
+ and lquery length fields (Nikita Glukhov)
+
+
+
+
+
+
+ Work around failure in contrib/pageinspect's
+ bt_metap() function when an oldest_xact value
+ exceeds 2^31-1 (Peter Geoghegan)
+
+
+
+ Such XIDs will now be reported as negative integers, which isn't
+ great but it beats throwing an error. v13 will widen the output
+ argument to int8 to provide saner reporting.
+
+
+
+
+
+
+ Fix cache reference leak in contrib/sepgsql
+ (Michael Luo)
+
+
+
+
+
+
+ On Windows, avoid premature creation of postmaster's log file
+ during pg_ctl start (Alexander Lakhin)
+
+
+
+ The previous coding could allow the file to be created with
+ permissions that wouldn't allow the postmaster to write on it.
+
+
+
+
+
+
+ Avoid failures when dealing with Unix-style locale names on
+ Windows (Juan José Santamaría Flecha)
+
+
+
+
+
+
+ On Windows, set console VT100 compatibility mode in
+ programs that support PG_COLOR colorization
+ (Juan José Santamaría Flecha)
+
+
+
+ Without this, the colorization option doesn't actually work.
+
+
+
+
+
+
+ Stop requiring extra parentheses in ereport()
+ calls (Andres Freund, Tom Lane)
+
+
+
+
+
+
+ Use pkg-config, if available, to
+ locate libxml2
+ during configure (Hugh McMaster, Tom
+ Lane, Peter Eisentraut)
+
+
+
+ If pkg-config is not present or lacks
+ knowledge of libxml2, we still
+ query xml2-config as before.
+
+
+
+ This change could break build processes that try to
+ make PostgreSQL use a non-default version
+ of libxml2 by putting that
+ version's xml2-config into
+ the PATH. Instead,
+ set XML2_CONFIG to point to the
+ non-default xml2-config. That method
+ will work with either older or
+ newer PostgreSQL releases.
+
+
+
+
+
+
+ Fix Makefile dependencies for libpq
+ and ecpg (Dagfinn Ilmari Mannsåker)
+
+
+
+
+
+
+ Include CFLAGS_SL in CXXFLAGS
+ when building a shared library (Oleksii Kliukin)
+
+
+
+ This ensures that C++ source files are compiled correctly, for
+ example by adding -fPIC when needed.
+
+
+
+
+
+
+ In MSVC builds, cope with spaces in the path name for Python
+ (Victor Wagner)
+
+
+
+
+
+
+ In MSVC builds, fix detection of Visual Studio version to work with
+ more language settings (Andrew Dunstan)
+
+
+
+
+
+
+ In MSVC builds, use -Wno-deprecated with bison
+ versions newer than 3.0, as non-Windows builds already do (Andrew
+ Dunstan)
+
+
+
+
+
+
+ Update time zone data files to tzdata
+ release 2020a for DST law changes in Morocco and the Canadian Yukon,
+ plus historical corrections for Shanghai.
+
+
+
+ The America/Godthab zone has been renamed to America/Nuuk to reflect
+ current English usage; however, the old name remains available as a
+ compatibility link.
+
+
+
+ Also, update initdb's list of known
+ Windows time zone names to include recent additions, improving the
+ odds that it will correctly translate the system time zone setting
+ on that platform.
+
+
+
+
+
+
+
+
Release 12.2