Prevent unauthorized code execution
during
pg_dump (Masahiko Sawada)
Fix failure after attaching a table as a partition, if the
table had previously had inheritance children
(Álvaro Herrera)
Fix ALTER TABLE DETACH PARTITION for cases
involving inconsistent index-based constraints
(Álvaro Herrera, Tender Wang)
Fix handling of polymorphic output arguments for procedures
(Tom Lane)
Fix behavior of stable functions called from
a CALL statement's argument list (Tom Lane)
Detect integer overflow in money calculations
(Joseph Koshakow)
Fix over-aggressive clamping of the scale argument
in round(numeric)
and trunc(numeric) (Dean Rasheed)
Prevent pg_sequence_last_value() from failing
on unlogged sequences on standby servers and on temporary sequences
of other sessions (Nathan Bossart)
Fix parsing of ignored operators
in websearch_to_tsquery() (Tom Lane)
Detect another integer overflow case while computing new array
dimensions (Joseph Koshakow)
Detect another case of a new catalog cache entry becoming stale
while detoasting its fields (Noah Misch)
Correctly check updatability of view columns targeted
by INSERT ... DEFAULT
(Tom Lane)
Avoid reporting an unhelpful internal error for incorrect recursive
queries (Tom Lane)
Don't throw an error if a queued AFTER trigger no
longer exists (Tom Lane)
Fix failure to remove pg_init_privs entries
for column-level privileges when their table is dropped (Tom Lane)
Fix selection of an arbiter index for ON CONFLICT
when the desired index has expressions or predicates (Tom Lane)
Refuse to modify a temporary table of another session
with ALTER TABLE (Tom Lane)
Fix failure to recalculate sub-queries generated
from MIN() or MAX()
aggregates (Tom Lane)
Avoid crashing when a JIT-inlined backend function throws an error
(Tom Lane)
Cope with behavioral changes in
libxml2
version 2.13.x (Erik Wienhold, Tom Lane)
Fix handling of subtransactions of prepared transactions
when starting a hot standby server (Heikki Linnakangas)
Prevent incorrect initialization of logical replication slots
(Masahiko Sawada)
Avoid memory leakage after servicing a notify or sinval interrupt
(Tom Lane)
Avoid possibly missing end-of-input events on Windows sockets
(Thomas Munro)
Fix buffer overread in JSON parse error reports for incomplete byte
sequences (Jacob Champion)
Disable creation of stateful TLS session tickets by OpenSSL
(Daniel Gustafsson)
When replanning a
PL/pgSQL simple
expression, check it's still simple (Tom Lane)
Fix incompatibility between
PL/Perl and
Perl 5.40 (Andrew Dunstan)
Fix recursive RECORD-returning
PL/Python functions (Tom Lane)
Don't corrupt
PL/Python's
TD dictionary during a recursive trigger call
(Tom Lane)
Fix
PL/Tcl's reporting of invalid list
syntax in the result of a function returning tuple (Erik Wienhold,
Tom Lane)
Avoid non-thread-safe usage of strerror()
in
libpq (Peter Eisentraut)
Ensure that pg_restore
reports dependent TOC entries correctly (Tom Lane)
In contrib/postgres_fdw, do not
send FETCH FIRST WITH TIES clauses to the remote
server (Japin Li)
Avoid clashing with
system-provided <regex.h> headers
(Thomas Munro)
Fix otherwise-harmless assertion failures in REINDEX
CONCURRENTLY applied to an SP-GiST index (Tom Lane)
Fix INSERT from
multiple VALUES rows into a target column that is
a domain over an array or composite type (Tom Lane)
Fix incorrect pruning of NULL partition when a table is partitioned
on a boolean column and the query has a boolean IS
NOT clause (David Rowley)
Make ALTER FOREIGN TABLE SET SCHEMA move any
owned sequences into the new schema (Tom Lane)
Fix EXPLAIN's counting of heap pages accessed by
a bitmap heap scan (Melanie Plageman)
Avoid deadlock during removal of orphaned temporary tables
(Mikhail Zhilin)
Avoid race condition while examining per-relation frozen-XID values
(Noah Misch)
Disallow converting a table to a view within an outer SQL command
that is using that table (Tom Lane)
Ensure that join conditions generated from equivalence classes are
applied at the correct plan level (Tom Lane)
Avoid unnecessary use of moving-aggregate mode with a non-moving
window frame (Vallimaharajan G)
Avoid use of already-freed data while planning partition-wise joins
under GEQO (Tom Lane)
Fix incorrectly-reported statistics kind codes in requested
statistics kind X is not yet
built error messages (David Rowley)
Be more careful with RECORD-returning functions
in FROM (Tom Lane)
Fix confusion about the return rowtype of SQL-language procedures
(Tom Lane)
Add protective stack depth checks to some recursive functions
(Egor Chindyaskin)
Detect integer overflow when adding or subtracting
an interval to/from a timestamp
(Joseph Koshakow)
Avoid race condition in pg_get_expr()
(Tom Lane)
Fix detection of old transaction IDs in XID status functions
(Karina Litskevich)
Fix file descriptor leakage when an error is thrown while waiting
in WaitEventSetWait (Etsuro Fujita)
Throw an error if an index is accessed while it is being reindexed
(Tom Lane)
Ensure that index-only scans on name columns return a
fully-padded value (David Rowley)
-->
Fix crash with DSM allocations larger than 4GB (Heikki Linnakangas)
Disconnect if a new server session's client socket cannot be put
into non-blocking mode (Heikki Linnakangas)
Fix inadequate error reporting
with
OpenSSL 3.0.0 and later (Heikki
Linnakangas, Tom Lane)
Avoid concurrent calls to bindtextdomain()
Fix crash in
ecpg's preprocessor if
the program tries to redefine a macro that was defined on the
preprocessor command line (Tom Lane)
false unsupported feature will be passed to server
warnings (Tom Lane)
Ensure that the string result
function is correctly zero-terminated (Oleg Tselebrovskiy)
present, will be dumped regardless of the setting
of (Daniel Gustafsson,
Álvaro Herrera)
Fix
PL/pgSQL's parsing of single-line
comments (---style comments) following
expressions (Erik Wienhold, Tom Lane)
In contrib/amcheck, don't report false match
failures due to short- versus long-header values (Andrey Borodin,
Michael Zhilin)
In contrib/postgres_fdw, avoid emitting
requests to sort by a constant (David Rowley)
Make contrib/postgres_fdw set the remote
session's time zone to GMT
not UTC (Tom Lane)
In contrib/xml2, avoid use of library functions
that have been deprecated in recent versions
of
libxml2 (Dmitry Koval)
-->
Fix incompatibility with LLVM 18 (Thomas Munro, Dmitry Dolgov)
Allow make check to work with
the
musl C library (Thomas Munro, Bruce
Momjian, Tom Lane)
Tighten security restrictions within REFRESH MATERIALIZED
VIEW CONCURRENTLY (Heikki Linnakangas)
Fix memory leak when performing JIT inlining (Andres Freund,
Daniel Gustafsson)
When dequeueing from an LWLock, avoid needing to search the list of
waiting processes (Andres Freund)
-->
Avoid generating incorrect partitioned-join plans (Richard Guo)
Fix incorrect wrapping of subquery output expressions in
PlaceHolderVars (Tom Lane)
Avoid requesting an oversize shared-memory area in parallel hash
join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov)
and heap_delete() when a tuple to be updated by
a foreign-key enforcement trigger fails the extra visibility
crosscheck (Alexander Lakhin)
Fix possible failure during ALTER TABLE ADD
COLUMN on a complex inheritance tree (Tender Wang)
Fix problems with duplicate token names in ALTER TEXT
SEARCH CONFIGURATION ... MAPPING commands (Tender Wang,
Michael Paquier)
Properly lock the associated table during DROP
STATISTICS (Tomas Vondra)
Fix function volatility checking for GENERATED
and DEFAULT expressions (Tom Lane)
Detect that a new catalog cache entry became stale while detoasting
its fields (Tom Lane)
Fix edge-case integer overflow detection bug on some platforms (Dean
Rasheed)
Detect Julian-date overflow when adding or subtracting
an interval to/from a timestamp (Tom Lane)
Add more checks for overflow in interval_mul()
and interval_div() (Dean Rasheed)
validity of unapplied values for settings
with backend
or superuser-backend context (Tom Lane)
Match collation too when matching an existing index to a new
partitioned index (Peter Eisentraut)
Fix insufficient locking when cleaning up an incomplete split of
a GIN index's internal page (Fei Changhong, Heikki Linnakangas)
Avoid premature release of buffer pin in GIN index insertion
(Tom Lane)
-->
Avoid failure with partitioned SP-GiST indexes (Tom Lane)
-->
Fix ownership change reporting for large objects (Tom Lane)
Prevent standby servers from incorrectly processing dead index
tuples during subtransactions (Fei Changhong)
Fix deadlock between a logical replication apply worker, its
tablesync worker, and a session process trying to alter the
subscription (Shlok Kyal)
Return the correct status code when a new client disconnects without
responding to the server's password challenge (Liu Lang, Tom Lane)
Fix incompatibility with
OpenSSL 3.2
(Tristan Partin, Bo Andreson)
Be more wary about
OpenSSL not
setting errno on error (Tom Lane)
Report ENOMEM errors from file-related system
calls as ERRCODE_OUT_OF_MEMORY,
not ERRCODE_INTERNAL_ERROR (Alexander Kuzmenkov)
Avoid race condition when
libpq
initializes OpenSSL support concurrently in two different threads
(Willi Mann, Michael Paquier)
-->
Fix timing-dependent failure in GSSAPI data transmission (Tom Lane)
In
pg_dump, don't dump RLS policies or
security labels for extension member objects (Tom Lane, Jacob
Champion)
In
pg_dump, don't dump an extended
statistics object if its underlying table isn't being dumped
(Rian McGuire, Tom Lane)
an element equal to INT_MAX is inserted into
a gist__int_ops index
(Alexander Lakhin, Tom Lane)
when contrib/pageinspect's
hash_bitmap_info() function is applied to a
partitioned hash index (Alexander Lakhin, Michael Paquier)
when contrib/pgstattuple's
pgstathashindex() function is applied to a
partitioned hash index (Alexander Lakhin)
On Windows, suppress autorun options when launching subprocesses
and
pg_regress (Kyotaro Horiguchi)
Fix compilation failures with
libxml2
version 2.12.0 and later (Tom Lane)
Fix compilation failure of WAL_DEBUG code on
Windows (Bharath Rupireddy)
Suppress compiler warnings from Python's header files
(Peter Eisentraut, Tom Lane)
-->
Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro)
Palestine, plus corrections for the Antarctic stations Casey and
Vostok. Also historical corrections for Vietnam, Toronto, and
Miquelon. (Tom Lane)
Fix handling of unknown-type arguments
in DISTINCT "any" aggregate
functions (Tom Lane)
Detect integer overflow while computing new array dimensions
(Tom Lane)
Prevent the pg_signal_backend role from
signalling background workers and autovacuum processes
(Noah Misch, Jelte Fennema-Nio)
Fix misbehavior during recursive page split in GiST index build
(Heikki Linnakangas)
Prevent de-duplication of btree index entries
for interval columns (Noah Misch)
Fix partition step generation and runtime partition pruning for
hash-partitioned tables with multiple partition keys (David Rowley)
Fix edge case in btree mark/restore processing of ScalarArrayOpExpr
clauses (Peter Geoghegan)
Fix intra-query memory leak when a set-returning function repeatedly
returns zero rows (Tom Lane)
Don't crash if cursor_to_xmlschema() is applied
to a non-data-returning Portal (Boyu Yang)
Throw the intended error if pgrowlocks() is
applied to a partitioned table (David Rowley)
Handle invalid indexes more cleanly in assorted SQL functions
(Noah Misch)
Avoid premature memory allocation failure with long inputs
to to_tsvector() (Tom Lane)
Fix over-allocation of the constructed tsvector
in tsvectorrecv() (Denis Erokhin)
Fix incorrect coding in gtsvector_picksplit()
(Alexander Lakhin)
-->
Improve checks for corrupt PGLZ compressed data (Flavien Guedez)
Fix COMMIT AND CHAIN/ROLLBACK AND
CHAIN to work properly when there is an unreleased
savepoint (Liu Xiang, Tom Lane)
Avoid crash in EXPLAIN if a parameter marked to
be displayed by EXPLAIN has a NULL boot-time
value (Xing Guo, Aleksander Alekseev, Tom Lane)
Ensure we have a snapshot while dropping ON COMMIT
DROP temp tables (Tom Lane)
Avoid improper response to shutdown signals in child processes
just forked by system() (Nathan Bossart)
Cope with torn reads of pg_control in frontend
programs (Thomas Munro)
Avoid torn reads of pg_control in relevant SQL
functions (Thomas Munro)
Avoid integer overflow when computing size of backend activity
string array (Jakub Wartak)
Fix briefly showing inconsistent progress statistics
for ANALYZE on inherited tables
(Heikki Linnakangas)
Track the dependencies of cached CALL statements,
and re-plan them when needed (Tom Lane)
Track nesting depth correctly when
inspecting RECORD-type Vars from outer query levels
(Richard Guo)
Avoid record type has not been registered
failure
when deparsing a view that contains references to fields of
composite constants (Tom Lane)
Fix error-handling bug in RECORD type cache management
(Thomas Munro)
Fix assertion failure when logical decoding is retried in the same
session after an error (Hou Zhijie)
Treat out-of-memory failures as fatal while reading WAL
(Michael Paquier)
Fix possible recovery failure due to trying to allocate memory based
on a bogus WAL record length field (Thomas Munro, Michael Paquier)
Ensure that standby-mode WAL recovery reports an error when an
invalid page header is found (Yugo Nagata, Kyotaro Horiguchi)
Fix datatype size confusion in logical tape management
(Ranier Vilela)
Avoid unintended close of syslogger process's stdin
(Heikki Linnakangas)
Avoid doing plan cache revalidation of utility statements
that do not receive interesting processing during parse analysis
(Tom Lane)
Keep by-reference attmissingval values in
a long-lived context while they are being used (Andrew Dunstan)
Recalculate the effective value of search_path
after ALTER ROLE (Jeff Davis)
Fix order of operations in GenericXLogFinish
(Jeff Davis)
Remove incorrect assertion in PL/Python exception handling
(Alexander Lakhin)
Fix
pg_restore so that selective restores
will include both table-level and column-level ACLs for selected
tables (Euler Taveira, Tom Lane)
Add logic to
pg_upgrade to check for use
of abstime, reltime,
and tinterval data types (Álvaro Herrera)
Avoid generating invalid temporary slot names
in
pg_basebackup (Jelte Fennema)
Avoid false too many client connections
errors
in
pgbench on Windows (Noah Misch)
In contrib/amcheck, do not report interrupted
page deletion as corruption (Noah Misch)
on interval columns,
when an indexscan using the <
or <= operator is performed (Dean Rasheed)
-->
Add support for LLVM 16 and 17 (Thomas Munro, Dmitry Dolgov)
Suppress assorted build-time warnings on
fall back to using python
if --with-python was not given and make
variable PYTHON was not set (Japin Li)
Remove PHOT (Phoenix Islands Time) from the
default timezone abbreviations list (Tom Lane)
Disallow substituting a schema or owner name into an extension script
if the name contains a quote, backslash, or dollar sign (Noah Misch)
Fix confusion between empty (no rows) ranges and all-NULL ranges in
BRIN indexes, as well as incorrect merging of all-NULL summaries
(Tomas Vondra)
Avoid leaving a corrupted database behind when DROP
DATABASE is interrupted (Andres Freund)
Ensure that partitioned indexes are correctly marked as valid or not
at creation (Michael Paquier)
Ignore invalid child indexes when matching partitioned indexes to
child indexes during ALTER TABLE ATTACH PARTITION
(Michael Paquier)
Fix possible failure when marking a partitioned index valid after
all of its partitions have been attached (Michael Paquier)
Fix ALTER EXTENSION SET SCHEMA to complain if the
extension contains any objects outside the extension's schema
(Michael Paquier, Heikki Linnakangas)
Don't use partial unique indexes for uniqueness proofs in the
planner (David Rowley)
Avoid producing incorrect plans for foreign joins with
pseudoconstant join clauses (Etsuro Fujita)
Correctly handle sub-SELECTs in RLS policy expressions and
security-barrier views when expanding rule actions (Tom Lane)
Fix race conditions in conflict detection
for SERIALIZABLE isolation mode
(Thomas Munro)
Fix hash join with an inner-side hash key that contains Params
coming from an outer nested loop (Tom Lane)
Fix intermittent failures when trying to update a field of a
composite column (Tom Lane)
Prevent query-lifespan memory leaks in some UPDATE
queries with triggers (Tomas Vondra)
Prevent query-lifespan memory leaks when an Incremental Sort plan
node is rescanned (James Coleman, Laurenz Albe, Tom Lane)
Accept fractional seconds in the input to jsonpath's
datetime() method (Tom Lane)
Prevent stack-overflow crashes with very complex text search
patterns (Tom Lane)
Allow tokens up to 10240 bytes long
in pg_hba.conf
and pg_ident.conf (Tom Lane)
-->
Fix mishandling of C++ out-of-memory conditions (Heikki Linnakangas)
Fix rare null-pointer crash in plancache.c
(Tom Lane)
Avoid losing track of possibly-useful shared memory segments when a
page free results in coalescing ranges of free space (Dongming Liu)
Allow VACUUM to continue after detecting certain
types of b-tree index corruption (Peter Geoghegan)
in pg_database.datfrozenxid
or pg_database.datminmxid
(Andres Freund)
Avoid double replay of prepared transactions during crash
recovery (suyu.cmj, Michael Paquier)
Fix possible failure while promoting a standby server, if archiving
is enabled and two-phase transactions need to be recovered (Julian
Markwort)
Ensure that a newly created, but still empty table
is fsync'ed at the next checkpoint (Heikki
Linnakangas)
Ensure that creation of the init fork of an unlogged index is
WAL-logged (Heikki Linnakangas)
Fix missing reinitializations of delay-checkpoint-end flags
(suyu.cmj)
Fix overly strict assertion in jsonpath code
(David Rowley)
Avoid assertion failure when processing an empty statement via the
extended query protocol in an already-aborted transaction (Tom Lane)
Fix contrib/fuzzystrmatch's
Soundex difference() function to handle empty
input sanely (Alexander Lakhin, Tom Lane)
Tighten whitespace checks in contrib/hstore
input (Evan Jones)
with contrib/intarray's
gist__int_ops index opclass (Ankit Kumar Pandey,
Alexander Lakhin)
Avoid useless double decompression of GiST index entries
in contrib/intarray (Konstantin Knizhnik,
Matthias van de Meent, Tom Lane)
Ensure
that pg_index.indisreplident
is kept up-to-date in relation cache entries (Shruthi Gowda)
Silence deprecation warnings when compiling with OpenSSL 3.0.0 or
later (Peter Eisentraut)
Prevent CREATE SCHEMA from defeating changes
in search_path (Alexander Lakhin)
Enforce row-level security policies correctly after inlining a
set-returning function (Stephen Frost, Tom Lane)
Avoid crash when the new schema name is omitted
in CREATE SCHEMA (Michael Paquier)
Fix enabling/disabling of cloned triggers in partitioned tables
(Tom Lane)
Disallow altering composite types that are stored in indexes
(Tom Lane)
-->
Disallow system columns as elements of foreign keys (Tom Lane)
Ensure that COPY TO from an RLS-enabled parent
table does not copy any rows from child tables (Antonin Houska)
Avoid possible crash when array_position()
or array_positions() is passed an empty array
(Tom Lane)
Fix possible out-of-bounds fetch in to_char()
(Tom Lane)
Avoid buffer overread in translate() function
(Daniil Anisimov)
Fix error cursor setting for parse errors in JSON string literals
(Tom Lane)
Fix data corruption due to vacuum_defer_cleanup_age
being larger than the current 64-bit xid (Andres Freund)
Fix parser's failure to detect some cases of improperly-nested
aggregates (Tom Lane)
Fix data structure corruption during parsing of
serial SEQUENCE NAME options (David Rowley)
Correctly update plan nodes' parallel-safety markings when moving
initplans from one node to another (Tom Lane)
Disable the inverse-transition optimization for window aggregates
when the call contains sub-SELECTs (David Rowley)
Fix oversights in execution of nested ARRAY[]
constructs (Alexander Lakhin, Tom Lane)
Prevent crash when updating a field within an
array-of-domain-over-composite-type column (Dmitry Dolgov)
Fix partition pruning logic for partitioning on boolean columns
(David Rowley)
Fix race condition in per-batch cleanup during parallel hash join
(Thomas Munro, Melanie Plageman)
Recalculate GENERATED columns after an
EvalPlanQual check (Tom Lane)
Don't balance vacuum cost delay when a table has a
per-relation vacuum_cost_delay setting of zero
(Masahiko Sawada)
Fix corner-case crashes when columns have been added to the end of a
view (Tom Lane)
Repair rare failure of MULTIEXPR_SUBLINK subplans in partitioned
updates (Andres Freund, Tom Lane)
multi-row INSERT ... VALUES query on a view that
has a DO ALSO INSERT ... SELECT rule (Dean
Rasheed)
Support references to OLD
and NEW within subqueries in rule actions
(Dean Rasheed, Tom Lane)
containing INSERT/UPDATE/DELETE
within WITH, take care to print the correct alias
for the target table (Tom Lane)
Fix glitches in SERIALIZABLE READ ONLY
optimization (Thomas Munro)
Avoid leaking cache callback slots in
the pgoutput logical decoding plugin (Shi Yu)
Avoid unnecessary calls to custom validators for index operator
class options (Alexander Korotkov)
Fix dereference of dangling pointer during buffering build of a GiST
index (Alexander Lakhin)
Ignore dropped columns and generated columns during logical
replication of an update or delete action (Onder Kalaci, Shi Yu)
Correct the name of the wait event for SLRU buffer I/O for commit
timestamps (Alexander Lakhin)
Avoid possible underflow when calculating how many WAL segments to
keep (Kyotaro Horiguchi)
Support RSA-PSS certificates with SCRAM-SHA-256 channel binding
(Jacob Champion, Heikki Linnakangas)
-->
Avoid race condition with process ID tracking on Windows (Thomas Munro)
Add missing cases to SPI_result_code_string()
(Dean Rasheed)
Fix erroneous Valgrind markings
in AllocSetRealloc() (Karina Litskevich)
Avoid assertion failure when decoding a transactional logical
replication message (Tomas Vondra)
Avoid locale sensitivity when processing regular expression escapes
(Jeff Davis)
Avoid trying to write an empty WAL record
in log_newpage_range() when the last few pages
in the specified range are empty (Matthias van de Meent)
Fix session-lifespan memory leakage in
plpgsql
DO blocks that use cast expressions
(Ajit Awekar, Tom Lane)
Tighten array dimensionality checks when converting Perl
list structures to multi-dimensional SQL arrays (Tom Lane)
Tighten array dimensionality checks when converting Python
list structures to multi-dimensional SQL arrays (Tom Lane)
Fix unwinding of exception stack
PQconnectPoll()
(Michael Paquier)
Fix possible data corruption in
ecpg
programs built with the option
(Kyotaro Horiguchi)
Fix
pg_dump so that partitioned tables
that are hash-partitioned on an enum-type column can be restored
successfully (Tom Lane)
In contrib/hstore_plpython, avoid crashing if
the Python value to be transformed isn't a mapping (Dmitry Dolgov,
Tom Lane)
Require the siglen option of a GiST index on
an ltree column, if specified, to be a multiple of 4
(Alexander Korotkov)
Fix misbehavior in contrib/pg_trgm with an
unsatisfiable regular expression (Tom Lane)
Use the option when stripping
static libraries with
GNU-compatible
strip (Tom Lane)
Stop recommending auto-download of DTD files for building the
documentation, and indeed disable it (Aleksander Alekseev, Peter
Eisentraut, Tom Lane)
When running TAP tests in PGXS builds, use a saner location for the
temporary portlock directory (Peter Eisentraut)
Update time zone data files to
tzdata
release 2023c for DST law changes in Egypt, Greenland, Morocco, and
Palestine. (Tom Lane)
libpq can leak memory contents after
GSSAPI transport encryption initiation fails (Jacob Champion)
Fix calculation of which GENERATED columns need
to be updated in child tables during an UPDATE on
a partitioned table or inheritance tree (Amit Langote, Tom Lane)
Allow REPLICA IDENTITY
to be set on an index that's not (yet) valid (Tom Lane)
Fix handling of DEFAULT markers in rules that
perform an INSERT from a
multi-row VALUES list (Dean Rasheed)
Reject uses of undefined variables in jsonpath
existence checks (Alexander Korotkov, David G. Johnston)
-->
Fix edge-case data corruption in parallel hash joins (Dmitry Astapov)
Honor non-default settings
of checkpoint_completion_target
(Bharath Rupireddy)
Log the correct ending timestamp
in recovery_target_xid mode (Tom Lane)
Improve error reporting for some buffered file read failures
(Peter Eisentraut)
Prevent wrong tuple length
failure
at the end of VACUUM (Ashwin Agrawal, Junfeng Yang)
In extended query protocol, avoid an immediate commit
after ANALYZE if we're running a pipeline
(Tom Lane)
Reject cancel request packets having the wrong length
(Andrey Borodin)
-->
Add recursion and looping defenses in subquery pullup (Tom Lane)
Fix partitionwise-join code to tolerate failure to produce a plan for
each partition (Tom Lane)
Limit the amount of cleanup work done
by get_actual_variable_range (Simon Riggs)
Ensure that execution of full-text-search queries can be cancelled
while they are performing phrase matches (Tom Lane)
Fix memory leak in hashing strings with nondeterministic collations
(Jeff Davis)
Clean up the
libpq connection object
after a failed replication connection attempt (Andres Freund)
In hot-standby servers, reduce processing effort for tracking XIDs
known to be active on the primary (Simon Riggs, Michail Nikolaev)
Ignore invalidated logical-replication slots while determining
oldest catalog xmin (Sirisha Chamarthi)
-->
Fix uninitialized-memory usage in logical decoding (Masahiko Sawada)
Avoid rare failed to acquire cleanup lock
panic
during WAL replay of hash-index page split operations (Robert Haas)
Advance a heap page's LSN when setting its all-visible bit during
WAL replay (Jeff Davis)
Prevent unsafe usage of a relation cache
entry's rd_smgr pointer (Amul Sul)
Fix latent buffer-overrun problem in WaitEventSet
logic (Thomas Munro)
Avoid nominally-undefined behavior when accessing shared memory in
32-bit builds (Andres Freund)
Remove faulty assertion in useless-RESULT-RTE optimization logic
(Tom Lane)
Fix copy-and-paste errors in cache-lookup-failure messages for ACL
checks (Justin Pryzby)
avoid calling unsafe server functions before we have locks on the
tables to be examined (Tom Lane, Gilles Darold)
Fix tab completion of ALTER
FUNCTION/PROCEDURE/ROUTINE ... SET
SCHEMA (Dean Rasheed)
Fix contrib/seg to not crash or print garbage
if an input number has more than 127 digits (Tom Lane)
In contrib/sepgsql, avoid deprecation warnings
with recent
libselinux (Michael Paquier)
-->
Fix build on Microsoft Visual Studio 2013 (Tom Lane)
Fix compile failure in building PL/Perl with MSVC when using
Strawberry Perl (Andrew Dunstan)
Fix mismatch of PL/Perl built with MSVC versus a Perl library built
with gcc (Andrew Dunstan)
-->
Suppress compiler warnings from Perl's header files (Andres Freund)
Fix
pg_waldump to build on compilers that
don't discard unused static-inline functions (Tom Lane)
release 2022g for DST law changes in Greenland and Mexico,
plus historical corrections for northern Canada, Colombia, and
Singapore. (Tom Lane)
Avoid rare PANIC during updates occurring concurrently
with VACUUM (Tom Lane, Jeff Davis)
Fix VACUUM to press on if an attempted page
deletion in a btree index fails to find the page's parent downlink
(Peter Geoghegan)
Fix handling of DEFAULT tokens that appear
in a multi-row VALUES clause of an
INSERT on an updatable view (Tom Lane)
Disallow rules named _RETURN that are
not ON SELECT (Tom Lane)
Fix resource management bug in saving tuples
for AFTER triggers (Tom Lane)
Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited
updates (Tom Lane)
Fix construction of per-partition foreign key constraints while
doing ALTER TABLE ATTACH PARTITION
(Jehan-Guillaume de Rorthais, Álvaro Herrera)
Fix generation of constraint names for per-partition foreign key
constraints (Jehan-Guillaume de Rorthais)
Fix incorrect matching of index expressions and predicates when
creating a partitioned index (Richard Guo, Tom Lane)
Prevent WAL corruption after a standby promotion (Dilip Kumar,
Robert Haas)
Fix mis-ordering of WAL operations in fast insert path for GIN
indexes (Matthias van de Meent, Zhang Mingli)
Fix bugs in logical decoding when replay starts from a point
between the beginning of a transaction and the beginning of its
subtransaction (Masahiko Sawada, Kuroda Hayato)
Prevent examining system catalogs with the wrong snapshot during
logical decoding (Masahiko Sawada)
Accept interrupts in more places during logical decoding (Amit
Kapila, Masahiko Sawada)
Prevent attempts to replicate into a foreign-table partition in
replication workers (Shi Yu, Tom Lane)
Remove pointless check on replica identity setting of partitioned
tables (Hou Zhijie)
Avoid crash after function syntax error in replication workers
(Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)
Fix handling of read-write expanded datums that are passed to SQL
functions (Tom Lane)
Fix type circle's equality comparator to handle NaNs
properly (Ranier Vilela)
In Snowball dictionaries, don't try to stem excessively-long words
(Olly Betts, Tom Lane)
-->
Fix use-after-free hazard in string comparisons (Tom Lane)
Add plan-time check for attempted access to a table that has no
table access method (Tom Lane)
Prevent postmaster crash when shared-memory state is corrupted
(Tom Lane)
Add some more defenses against recursion till stack overrun
(Richard Guo, Tom Lane)
Avoid misbehavior when choosing hash table size with very
small work_mem and large tuples (Zhang Mingli)
Avoid long-term memory leakage in the autovacuum launcher process
(Reid Thompson)
Improve
PL/pgSQL's ability to handle
parameters declared as RECORD (Tom Lane)
Add missing guards for NULL connection pointer
in
libpq (Daniele Varrazzo, Tom Lane)
In
ecpg, fix omission of variable storage
classes when multiple varchar or bytea
variables are declared in the same declaration (Andrey Sokolov)
Allow cross-platform tablespace relocation
in
pg_basebackup (Robert Haas)
In
pg_stat_statements, fix access to
already-freed memory (zhaoqigui)
In
postgres_fdw, ensure that target lists
constructed for EvalPlanQual plans will have all required columns
(Richard Guo, Etsuro Fujita)
Reject unwanted output from the platform's
uuid_create() function (Nazir Bilal Yavuz)
Include new Perl test modules in standard installations
(Álvaro Herrera)
On NetBSD, force dynamic symbol resolution at postmaster start
(Andres Freund, Tom Lane)
-->
Fix incompatibilities with LLVM 15 (Thomas Munro, Andres Freund)
Allow use of __sync_lock_test_and_set() for
spinlocks on any machine (Tom Lane)
Rename symbol REF to REF_P to
avoid compile failure on recent macOS (Tom Lane)
Avoid using sprintf, to avoid compile-time
deprecation warnings (Tom Lane)
-->
Silence assorted compiler warnings from clang 15 and later (Tom Lane)
release 2022f for DST law changes in Chile, Fiji, Iran, Jordan,
Mexico, Palestine, and Syria, plus historical corrections for Chile,
Crimea, Iran, and Mexico. (Tom Lane)
Do not let extension scripts replace objects not already belonging
to the extension (Tom Lane)
Fix replay of CREATE DATABASE WAL
records on standby servers
(Kyotaro Horiguchi, Asim R Praveen, Paul Guo)
Support in place
tablespaces
(Thomas Munro, Michael Paquier, Álvaro Herrera)
Fix permissions checks in CREATE INDEX (Nathan
Bossart, Noah Misch)
In extended query protocol, force an immediate commit
after CREATE DATABASE and other commands that
can't run in a transaction block (Tom Lane)
-->
Fix race condition when checking transaction visibility (Simon Riggs)
Fix queries in which a whole-row variable
references
the result of a function that returns a domain over composite type
(Tom Lane)
Fix variable not found in subplan target list
planner
error when pulling up a sub-SELECT that's
referenced in a GROUPING function (Richard Guo)
Fix incorrect plans when sorting by an expression that contains a
non-top-level set-returning function (Richard Guo, Tom Lane)
= ANY(array) clauses when
there are MCV-type extended statistics on
the array variable (Tom Lane)
Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to
handle recursion correctly for triggers on partitioned tables
(Álvaro Herrera, Amit Langote)
Improve syntax error messages for type jsonpath
(Andrew Dunstan)
Prevent pg_stat_get_subscription() from
possibly returning an extra row containing garbage values
(Kuntal Ghosh)
Ensure that pg_stop_backup() cleans up session
state properly (Fujii Masao)
Fix join alias matching in FOR [KEY] UPDATE/SHARE
clauses (Dean Rasheed)
Avoid crashing if too many column aliases are attached to
an XMLTABLE or JSON_TABLE
construct (Álvaro Herrera)
Reject ROW() expressions and functions
in FROM that have too many columns (Tom Lane)
When decompiling a view or rule, show a SELECT
output column's AS "?column?" alias clause
if it could be referenced elsewhere (Tom Lane)
Fix dumping of a view using a function in FROM
that returns a composite type, when column(s) of the composite type
have been dropped since the view was made (Tom Lane)
Report implicitly-created operator families to event triggers
(Masahiko Sawada)
Fix control file updates made when a restartpoint is running during
promotion of a standby server (Kyotaro Horiguchi)
Prevent triggering of
standby's wal_receiver_timeout during logical
replication of large transactions (Wang Wei, Amit Kapila)
Disallow nested backup operations in logical replication walsenders
(Fujii Masao)
-->
Fix memory leak in logical replication subscribers (Hou Zhijie)
Fix logical replication's checking of replica identity when the
target table is partitioned (Shi Yu, Hou Zhijie)
Fix failures to update cached schema data in a logical replication
subscriber after a schema change on the publisher (Shi Yu, Hou
Zhijie)
Prevent open-file leak when reading an invalid timezone abbreviation
file (Kyotaro Horiguchi)
Allow custom server parameters to have short descriptions that are
NULL (Steve Chavez)
Fix WAL consistency checking logic to correctly
handle BRIN_EVACUATE_PAGE flags (Haiyang Wang)
Fix erroneous assertion checks in shared hashtable management
(Thomas Munro)
Arrange to clean up after commit-time errors
within SPI_commit(), rather than expecting
callers to do that (Peter Eisentraut, Tom Lane)
Remove misguided SSL key file ownership check
Ensure
ecpg reports server connection loss
sanely (Tom Lane)
Avoid core dump in
ecpglib with
unexpected orders of operations (Tom Lane)
redundant newlocale() calls (Noah Misch)
command, echo a newline after cancellation with control-C
(Pavel Stehule)
after clone() failure
with option (Justin Pryzby)
Fix contrib/pg_stat_statements to avoid
problems with very large query-text files on 32-bit platforms
(Tom Lane)
Ensure that contrib/postgres_fdw sends
constants of regconfig and other reg*
types with proper schema qualification (Tom Lane)
Block signals while allocating dynamic shared memory on Linux
(Thomas Munro)
Detect unexpected EEXIST error
from shm_open() (Thomas Munro)
Adjust PL/Perl test case so it will work under Perl 5.36
(Dagfinn Ilmari Mannsåker)
multiple
OpenLDAP installations are
present while building
PostgreSQL
(Tom Lane)
Confine additional operations within security restricted
operation sandboxes (Sergey Shinderuk, Noah Misch)
Fix default signature length for gist_ltree_ops
indexes (Tomas Vondra, Alexander Korotkov)
Stop using query-provided column aliases for the columns of
whole-row variables that refer to plain tables (Tom Lane)
Fix incorrect output for types timestamptz
and timetz in table_to_xmlschema()
and allied functions (Renan Soares Lopes)
Avoid core dump in parser for a VALUES clause with
zero columns (Tom Lane)
Fix planner errors for GROUPING() constructs
that reference outer query levels (Richard Guo, Tom Lane)
Fix plan generation for index-only scans on indexes with
both returnable and non-returnable columns (Tom Lane)
Avoid accessing a no-longer-pinned shared buffer while attempting
to lock an outdated tuple during EvalPlanQual (Tom Lane)
Fix query-lifespan memory leak in an IndexScan node that is
performing reordering (Aliaksandr Kalenik)
function's parallelism property and
its SET-variable list in the same command (Tom
Lane)
Fix bogus errors from attempts to alter system columns of tables
(Tom Lane)
Fix mis-sorting of table rows when CLUSTERing
using an index whose leading key is an expression (Peter Geoghegan,
Thomas Munro)
Fix risk of deadlock failures while dropping a partitioned index
(Jimmy Yih, Gaurab Dey, Tom Lane)
Fix race condition between DROP TABLESPACE and
checkpointing (Nathan Bossart)
Fix possible trouble in crash recovery after
a TRUNCATE command that overlaps a checkpoint
(Kyotaro Horiguchi, Heikki Linnakangas, Robert Haas)
Fix unsafe toast-data accesses during temporary object cleanup
(Andres Freund)
-->
Improve wait logic in RegisterSyncRequest (Thomas Munro)
Fix PANIC: xlog flush request is not satisfied
failure during standby promotion when there is a missing WAL
continuation record (Sami Imseih)
Fix possibility of self-deadlock in hot standby conflict handling
(Andres Freund)
Fix possible mis-identification of the correct ancestor relation
to publish logical replication changes through (Tomas Vondra, Hou
zj, Amit Kapila)
when we're up against
the max_sync_workers_per_subscription limit
(Amit Kapila)
Include unchanged replica identity key columns in the WAL log for an
update, if they are stored out-of-line (Dilip Kumar, Amit Kapila)
Cope correctly with platforms that have no support for altering the
server process's display in
ps(1) (Andrew
Dunstan)
Disallow execution of SPI functions during PL/Perl function
compilation (Tom Lane)
Make
libpq accept root-owned SSL private
key files (David Steele)
PQisBusy() function after a connection failure
(Tom Lane)
Make
pg_ctl recheck postmaster aliveness
while waiting for stop/restart/promote actions (Tom Lane)
Fix error handling in
pg_waldump (Kyotaro
Horiguchi, Andres Freund)
Ensure that contrib/pageinspect functions cope
with all-zero pages (Michael Paquier)
for correct page size, and add some missing checks that an index is
of the expected type (Michael Paquier, Justin Pryzby, Julien
Rouhaud)
that ORDER BY clauses are safe to ship before
requesting a remotely-ordered query, and include
a USING clause if necessary (Ronan Dunklau)
Update
JIT code to work with LLVM 14
(Thomas Munro)
Clean up assorted failures under
clang's
-fsanitize=undefined checks (Tom Lane, Andres
Freund, Zhihong Yu)
Fix PL/Perl so it builds on C compilers that don't support statements
nested within expressions (Tom Lane)
Fix possible build failure of
pg_dumpall
on Windows, when not using MSVC to build (Andres Freund)
In Windows builds, use
gendef instead
of
pexports to build DEF files (Andrew
Dunstan)
Prevent extra expansion of shell wildcard patterns in programs built
under MinGW (Andrew Dunstan)
Update time zone data files to
tzdata
release 2022a for DST law changes in Palestine, plus historical
corrections for Chile and Ukraine. (Tom Lane)
Enforce standard locking protocol for TOAST table updates, to prevent
problems with REINDEX CONCURRENTLY (Michael Paquier)
Avoid null-pointer crash in ALTER STATISTICS
when the statistics object is dropped concurrently (Tomas Vondra)
Fix incorrect plan creation for parallel single-child Append nodes
(David Rowley)
Fix index-only scan plans for cases where not all index columns can
be returned (Tom Lane)
Ensure that casting to an unspecified typmod generates a RelabelType
node rather than a length-coercion function call (Tom Lane)
Fix checking of anycompatible-family data type matches
(Tom Lane)
Fix WAL replay failure when database consistency is reached exactly
at a WAL page boundary (Álvaro Herrera)
Fix startup of a physical replica to tolerate transaction ID
wraparound (Abhijit Menon-Sen, Tomas Vondra)
In logical replication, avoid double transmission of a child table's
data (Hou Zhijie)
Remove lexical limitations for SQL commands issued on a logical
replication connection (Tom Lane)
Fix possible loss of the commit timestamp for the last
subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)
Be sure to fsync
the pg_logical/mappings subdirectory during
checkpoints (Nathan Bossart)
-->
Build extended statistics for partitioned tables (Justin Pryzby)
-->
Ignore extended statistics for inheritance trees (Justin Pryzby)
Disallow altering data type of a partitioned table's columns when
the partitioned table's row type is used as a composite type
elsewhere (Tom Lane)
Disallow ALTER TABLE ... DROP NOT NULL for a
column that is part of a replica identity index (Haiying Tang, Hou
Zhijie)
Correctly update cached table state during ALTER TABLE ADD
PRIMARY KEY USING INDEX (Hou Zhijie)
Correctly update cached table state when switching REPLICA
IDENTITY index (Tang Haiying, Hou Zhijie)
Allow parallel vacuuming and concurrent index building to be ignored
while computing oldest xmin (Masahiko Sawada)
Avoid leaking memory during REASSIGN OWNED BY
operations that reassign ownership of many objects (Justin Pryzby)
Improve performance of walsenders sending logical changes by
avoiding unnecessary cache accesses (Hou Zhijie)
Fix display of cert authentication method's
options in pg_hba_file_rules view (Magnus
Hagander)
Fix display of whole-row variables appearing
in INSERT ... VALUES rules (Tom Lane)
Fix one-byte buffer overrun when applying Unicode string
normalization to an empty string (Michael Paquier)
Fix or remove some incorrect assertions (Simon Riggs, Michael
Paquier, Alexander Lakhin)
messages that are reported early in multi-threaded use
Avoid calling strerror
function (Tom Lane)
command default to setting the password
for CURRENT_USER, not the connection's original
user name (Tom Lane)
query for identifying parent triggers (Justin Pryzby)
Fix
psql's tab-completion of label values
for enum types (Tom Lane)
In
psql and some other client programs,
avoid trying to invoke gettext() from a
control-C signal handler (Tom Lane)
and
pg_recvlogical (Tom Lane, Nathan
Bossart)
Fix
pg_dump's dump ordering for
user-defined casts (Tom Lane)
and modes to handle tables
containing both generated columns and dropped columns (Tom Lane)
Fix possible mis-reporting of errors
and
pg_basebackup (Tom Lane)
Fix results of index-only scans
on contrib/btree_gist indexes
on char(N) columns (Tom Lane)
the deprecated
distutils module, to
determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres
Freund)
Fix PL/Perl compile failure on Windows with Perl 5.28 and later
(Victor Wagner)
Fix PL/Python compile failure with Python 3.11 and later (Peter
Eisentraut)
-->
Add support for building with Visual Studio 2022 (Hans Buschmann)
Allow the .bat wrapper scripts in our MSVC
build system to be called without first changing into their
directory (Anton Voloshin, Andrew Dunstan)
Make the server reject extraneous data after an SSL or GSS
encryption handshake (Tom Lane)
Make
libpq reject extraneous data after
an SSL or GSS encryption handshake (Tom Lane)
Fix physical replication for cases where the primary crashes
after shipping a WAL segment that ends with a partial WAL record
(Álvaro Herrera)
Fix CREATE INDEX CONCURRENTLY to wait for
the latest prepared transactions (Andrey Borodin)
Avoid race condition that can cause backends to fail to add entries
for new rows to an index being built concurrently (Noah Misch,
Andrey Borodin)
Fix float4 and float8 hash functions to
produce uniform results for NaNs (Tom Lane)
Fix REINDEX CONCURRENTLY to preserve operator
class parameters that were attached to the target index
(Michael Paquier)
Prevent data loss during crash recovery of CREATE
TABLESPACE, when wal_level
= minimal (Noah Misch)
Ensure that the relation cache is invalidated for a table being
attached to or detached from a partitioned table (Amit Langote,
Álvaro Herrera)
Ensure that the relation cache is invalidated for all partitions
of a partitioned table that is being added to or removed from a
publication (Hou Zhijie, Vignesh C)
Ensure that the relation cache is invalidated when creating or
dropping a FOR ALL TABLES publication
(Hou Zhijie, Vignesh C)
Don't discard a cast to the same type with unspecified type modifier
(Tom Lane)
Fix updates of element fields in arrays of domain over composite
(Tom Lane)
Disallow the combination of FETCH FIRST WITH TIES
and FOR UPDATE SKIP LOCKED (David Christensen)
Disallow creating an ICU collation if the current database's
encoding won't support it (Tom Lane)
Disallow ALTER INDEX index ALTER COLUMN col SET
(options) (Nathan Bossart, Michael Paquier)
Fix corner-case loss of precision in
numeric power() (Dean Rasheed)
Avoid regular expression errors with capturing parentheses
inside {0} (Tom Lane)
Prevent regular expression back-references from sometimes matching
when they shouldn't (Tom Lane)
Fix regular expression performance bug with back-references inside
iteration nodes (Tom Lane)
Fix incorrect results from AT TIME ZONE applied
to a time with time zone value (Tom Lane)
Fix planner error with pulling up subquery expressions into function
rangetable entries (Tom Lane)
Fix mistranslation of PlaceHolderVars to inheritance child relations
(Tom Lane)
Avoid using MCV-only statistics to estimate the range of a column
(Tom Lane)
Fix restoration of a Portal's snapshot inside a subtransaction
(Bertrand Drouvot)
Clean up correctly if a transaction fails after exporting its
snapshot (Dilip Kumar)
Prevent wraparound of overflowed-subtransaction tracking on standby
servers (Kyotaro Horiguchi, Alexander Korotkov)
Ensure that prepared transactions are properly accounted for during
promotion of a standby server (Michael Paquier, Andres Freund)
-->
Disallow LISTEN in background workers (Tom Lane)
Send NOTIFY signals to other backends during
transaction commit, not in the server's idle loop (Artur Zakirov,
Tom Lane)
Refuse to rewind a cursor marked NO SCROLL
if it has been held over from a previous transaction due
to the WITH HOLD option (Tom Lane)
Fix possible failure while saving a WITH HOLD
cursor at transaction end, if it had already been read to completion
(Tom Lane)
Fix detection of a relation that has grown to the maximum allowed
length (Tom Lane)
Correctly track the presence of data-modifying CTEs when expanding
a DO INSTEAD rule (Greg Nancarrow, Tom Lane)
Fix incorrect reporting of permissions failures on extended
statistics objects (Tomas Vondra)
-->
Fix incorrect snapshot handling in parallel workers (Greg Nancarrow)
Fix logical decoding to correctly ignore toast-table changes for
transient tables (Bertrand Drouvot)
Fix logical decoding's memory usage accounting to handle TOAST data
correctly (Bertrand Drouvot)
Ensure that walreceiver processes create all required archive
notification files before exiting (Fujii Masao)
Fix computation of the WAL range to include in a backup manifest
when a timeline change is involved (Kyotaro Horiguchi)
and NEW pseudo-relations in a rule
that uses SELECT FOR UPDATE
(Masahiko Sawada, Tom Lane)
Fix parser's processing of aggregate FILTER
clauses (Tom Lane)
Ensure that the correct lock level is used when renaming a table
(Nathan Bossart, Álvaro Herrera)
Prevent ALTER TYPE/DOMAIN/OPERATOR ... SET
from changing extension membership (Tom Lane)
Avoid trying to clean up LLVM state after an error within LLVM
(Andres Freund, Justin Pryzby)
Avoid null-pointer-dereference crash when dropping a role that owns
objects being dropped concurrently (Álvaro Herrera)
Prevent snapshot reference leak
warning
when lo_export() or a related function fails
(Heikki Linnakangas)
Ensure that scans of SP-GiST indexes are counted in the statistics
views (Tom Lane)
Fix inefficient code generation for CoerceToDomain expression nodes
(Ranier Vilela)
Recalculate relevant wait intervals
if recovery_min_apply_delay is changed during
recovery (Soumyadeep Chakraborty, Ashwin Agrawal)
Fix infinite loop if a simplehash.h hash table
reaches 2^32 elements (Yura Sokolov)
Avoid O(N^2) behavior in some list-manipulation operations
(Nathan Bossart, Tom Lane)
Reduce memory consumption during calculation of extended statistics
(Justin Pryzby, Tomas Vondra)
Add more defensive checks around B-tree posting list splits
(Peter Geoghegan)
Disallow setting huge_pages
to on when shared_memory_type
is sysv (Thomas Munro)
Fix missing
libpq functions on AIX
(Tony Reix)
Fix
ecpg to recover correctly
after malloc() failure while establishing a
connection (Michael Paquier)
Fix misevaluation of stable functions called in the arguments of a
PL/pgSQL CALL statement (Tom Lane)
Allow EXIT out of the outermost block in a
PL/pgSQL routine (Tom Lane)
Remove
pg_ctl's hard-coded limits on the
total length of generated commands (Phil Krylov)
Fix
pg_dump to dump non-global default
privileges correctly (Neil Chen, Masahiko Sawada)
Make
pg_dump acquire shared lock on
partitioned tables that are to be dumped (Tom Lane)
Improve
pg_dump's performance by avoiding
making per-table queries for RLS policies, and by avoiding repetitive
calls to format_type() (Tom Lane)
Fix crash in
pg_dump when attempting to
dump trigger definitions from a pre-8.3 server (Tom Lane)
Fix incorrect filename in
pg_restore's
error message about an invalid large object TOC file (Daniel
Gustafsson)
Ensure that
pgbench exits with non-zero
status after a socket-level failure (Yugo Nagata, Fabien Coelho)
(not char(n)) columns,
when an indexscan using the <
or <= operator is performed (Tom Lane)
Change contrib/pg_stat_statements to read
its query texts
file in units of at most 1GB
(Tom Lane)
Fix null-pointer crash
when contrib/postgres_fdw tries to report a
data conversion error (Tom Lane)
-->
Add spinlock support for the RISC-V architecture (Marek Szuba)
Support OpenSSL 3.0.0
(Peter Eisentraut, Daniel Gustafsson, Michael Paquier)
Set correct type identifier on OpenSSL BIO (I/O abstraction)
objects created by
PostgreSQL
(Itamar Gafni)
Fix our pkg-config files to again support static
linking of
libpq (Peter Eisentraut)
Make pg_regexec() robust against an
out-of-range search_start parameter
(Tom Lane)
Ensure that GetSharedSecurityLabel() can be
used in a newly-started session that has not yet built its critical
relation cache entries (Jeff Davis)
Use the CLDR project's data to map Windows time zone names to IANA
time zones (Tom Lane)
release 2021e for DST law changes in Fiji, Jordan, Palestine, and
Samoa, plus historical corrections for Barbados, Cook Islands,
Guyana, Niue, Portugal, and Tonga. (Tom Lane)
Fix mis-planning of repeated application of a projection step
(Tom Lane)
-->
Disallow SSL renegotiation more completely (Michael Paquier)
Restore the Portal-level snapshot after COMMIT
or ROLLBACK within a procedure (Tom Lane)
Avoid misbehavior when persisting the output of a cursor that's
reading a non-stable query (Tom Lane)
Reject SELECT ... GROUP BY GROUPING SETS (()) FOR
UPDATE (Tom Lane)
Reject cases where a query in WITH
rewrites to just NOTIFY (Tom Lane)
In numeric multiplication, round the result rather than
failing if it would have more than 16383 digits after the decimal
point (Dean Rasheed)
Fix corner-case errors and loss of precision when
raising numeric values to very large powers
(Dean Rasheed)
Fix division-by-zero failure in to_char()
with EEEE format and a numeric input
value less than 10^(-1001) (Dean Rasheed)
values consistently with the way it rounds positive ones (and
consistently with the numeric version) (Dean Rasheed,
David Rowley)
Make pg_filenode_relation(0, 0) return NULL
rather than failing (Justin Pryzby)
Make ALTER EXTENSION lock the extension when
adding or removing a member object (Tom Lane)
Fix ALTER SUBSCRIPTION to reject an empty slot
name (Japin Li)
When cloning a partitioned table's triggers to a new partition,
ensure that their enabled status is copied
(Álvaro Herrera)
Avoid alias conflicts in queries generated
for REFRESH MATERIALIZED VIEW CONCURRENTLY
(Tom Lane, Bharath Rupireddy)
Fix PREPARE TRANSACTION to check correctly
for conflicting session-lifespan and transaction-lifespan locks
(Tom Lane)
Fix misbehavior of DROP OWNED BY when the target
role is listed more than once in an RLS policy (Tom Lane)
Skip unnecessary error tests when removing a role from an RLS policy
during DROP OWNED BY (Tom Lane)
Re-allow old-style Windows locale names in CREATE
COLLATION commands (Thomas Munro)
Disallow whole-row variables in GENERATED
expressions (Tom Lane)
Fix usage of tableoid
in GENERATED expressions (Tom Lane)
Don't store a fast default
when adding a column to a
foreign table (Andrew Dunstan)
Allow index state flags to be updated transactionally
(Michael Paquier, Andrey Lepikhov)
Avoid corrupting the plan cache entry when CREATE
DOMAIN or ALTER DOMAIN appears
in a cached plan (Tom Lane)
Make walsenders show their latest replication commands
in pg_stat_activity (Tom Lane)
show as true when the pertinent entry
in postgresql.conf has been removed
(Álvaro Herrera)
of work_mem
times hash_mem_multiplier to exceed 2GB
(Tom Lane)
Fix mis-planning of queries involving regular tables that are
inheritance children of foreign tables (Amit Langote)
Fix pullup of constant function-in-FROM results when the FROM item
is marked LATERAL (Tom Lane)
Fix corner-case failure of a new standby to follow a new primary
(Dilip Kumar, Robert Haas)
Update minimum recovery point when WAL replay of a transaction abort
record causes file truncation (Fujii Masao)
Advance oldest-required-WAL-segment horizon properly after a
replication slot is invalidated (Kyotaro Horiguchi)
In walreceivers, avoid attempting catalog lookups after an error
(Masahiko Sawada, Bharath Rupireddy)
Ensure that a standby server's startup process will respond to a
shutdown signal promptly while waiting for WAL to arrive (Fujii
Masao, Soumyadeep Chakraborty)
Correctly clear shared state after failing to become a member of a
transaction commit group (Amit Kapila)
Add locking to avoid reading incorrect relmapper data in the face of
a concurrent write from another process (Heikki Linnakangas)
Improve progress reporting for the sort phase of a parallel btree
index build (Matthias van de Meent)
-->
Improve checks for violations of replication protocol (Tom Lane)
Fix assorted crash cases in logical replication of partitioned-table
updates (Amit Langote, Tom Lane)
Fix potential crash when firing AFTER triggers of partitioned tables
in logical replication workers (Tom Lane)
Fix deadlock when multiple logical replication workers try to
truncate the same table (Peter Smith, Haiying Tang)
Fix error cases and memory leaks in logical decoding of speculative
insertions (Dilip Kumar)
-->
Fix memory leak in logical replication output (Amit Langote)
Avoid leaving an invalid record-type hash table entry behind after
an error (Sait Talha Nisanci)
Fix plan cache reference leaks in some error cases in
CREATE TABLE ... AS EXECUTE (Tom Lane)
Fix race condition in code for sharing tuple descriptors across
parallel workers (Thomas Munro)
Fix race condition when invalidating an obsolete replication slot
concurrently with an attempt to drop or update it (Andres Freund,
Álvaro Herrera)
Fix possible race condition when releasing BackgroundWorkerSlots
(Tom Lane)
-->
Fix latent crash in sorting code (Ronan Dunklau)
Harden B-tree posting list split code against corrupt data
(Peter Geoghegan)
-->
Prevent infinite loops in SP-GiST index insertion (Tom Lane)
Ensure that SP-GiST index insertion can be terminated by a query
cancel request (Tom Lane, Álvaro Herrera)
an INTO clause
specified STRICT, even though it didn't
(Tom Lane)
Don't abort the process for an out-of-memory failure in libpq's
printing functions (Tom Lane)
In
ecpg, allow the
numeric
value INT_MIN (usually -2147483648) to be
converted to integer (John Naylor)
In
psql and other client programs, avoid
overrunning the ends of strings when dealing with invalidly-encoded
data (Tom Lane)
on partitioned tables whose enabled status is different from their
parent triggers' status
(Justin Pryzby, Álvaro Herrera)
Avoid invalid creation date in header
warnings
observed when running
pg_restore on an
archive file created in a different time zone (Tom Lane)
Make
pg_upgrade carry forward the old
installation's oldestXID value (Bertrand Drouvot)
Extend
pg_upgrade to detect and warn
about extensions that should be upgraded (Bruce Momjian)
Avoid problems when
switching
pg_receivewal between
compressed and non-compressed WAL storage (Michael Paquier)
Fix contrib/postgres_fdw to work usefully with
generated columns (Etsuro Fujita)
In contrib/postgres_fdw, avoid attempting
catalog lookups after an error (Tom Lane)
-->
Improve the isolation-test infrastructure (Tom Lane, Michael Paquier)
-->
Reduce overhead of cache-clobber testing (Tom Lane)
Fix
PL/Python's regression tests to pass
with Python 3.10 (Honza Horak)
Make printf("%s", NULL)
print (null) instead of crashing (Tom Lane)
Fix incorrect log message when point-in-time recovery stops at
a ROLLBACK PREPARED record (Simon Riggs)
Improve ALTER TABLE's messages for
wrong-relation-kind errors (Kyotaro Horiguchi)
Clarify error messages referring to non-negative
values (Bharath Rupireddy)
Fix
configure to work with OpenLDAP 2.5,
which no longer has a separate libldap_r
library (Adrian Ho, Tom Lane)
Add new make targets world-bin
and install-world-bin (Andrew Dunstan)
Fix make rule for TAP tests (prove_installcheck)
to work in PGXS usage (Andrew Dunstan)
Adjust JIT code to prepare for forthcoming LLVM API change
(Thomas Munro, Andres Freund)
Avoid assuming that strings returned by GSSAPI libraries are
null-terminated (Tom Lane)
-->
Enable building with GSSAPI on MSVC (Michael Paquier)
In MSVC builds, include in the set of
configure options reported by
pg_config,
if it had been specified (Andrew Dunstan)
Prevent integer overflows in array subscripting calculations
(Tom Lane)
Fix mishandling of junk
columns in INSERT
... ON CONFLICT ... UPDATE target lists (Tom Lane)
Fix possibly-incorrect computation of UPDATE
... RETURNING outputs for joined cross-partition updates
(Amit Langote, Etsuro Fujita)
Fix adjustment of constraint deferrability properties in
partitioned tables (Álvaro Herrera)
When attaching a child table with ALTER TABLE
... INHERIT, insist that any generated columns in the
parent be generated the same way in the child (Peter Eisentraut)
-->
Forbid marking an identity column as nullable (Vik Fearing)
Allow ALTER ROLE/DATABASE ... SET to set
the role, session_authorization,
and temp_buffers parameters (Tom Lane)
Ensure that REINDEX CONCURRENTLY preserves any
statistics target that's been set for the index (Michael Paquier)
Fix COMMIT AND CHAIN to work correctly when the
current transaction has live savepoints (Fujii Masao)
Fix list-manipulation bug in WITH RECURSIVE
processing (Michael Paquier, Tom Lane)
Fix bug with coercing the result of a COLLATE
expression to a non-collatable type (Tom Lane)
Fix use-after-free bug in saving tuples for AFTER
triggers (Amit Langote)
Disallow calling window functions and procedures via
the fast path
wire protocol message (Tom Lane)
Extend pg_identify_object_as_address()
to support event triggers (Joel Jacobson)
Fix to_char()'s handling of Roman-numeral month
format codes with negative intervals (Julien Rouhaud)
Check that the argument
of pg_import_system_collations() is a valid
schema OID (Tom Lane)
Fix use of uninitialized value while parsing an
\{m,n\}
quantifier in a BRE-mode regular expression (Tom Lane)
Fix could not find pathkey item to sort
planner
errors in some situations where the sort key involves an aggregate
or window function (James Coleman, Tom Lane)
Don't ignore system columns when estimating the number of groups
using extended statistics (Tomas Vondra)
Avoid divide-by-zero when estimating selectivity of a regular
expression with a very long fixed prefix (Tom Lane)
Fix access-off-the-end-of-the-table error in BRIN index bitmap scans
(Tomas Vondra)
Fix potentially wrong answers from GIN tsvector index
searches, when there are many matching tuples (Tom Lane)
Fix concurrency issues with WAL segment recycling on Windows
(Michael Paquier)
Avoid incorrect timeline change while recovering uncommitted
two-phase transactions from WAL (Soumyadeep Chakraborty, Jimmy Yih,
Kevin Yeap)
Ensure that locks are released while shutting down a standby
server's startup process (Fujii Masao)
Fix crash when a logical replication worker does ALTER
SUBSCRIPTION REFRESH (Peter Smith)
Ensure we default to wal_sync_method
= fdatasync on recent FreeBSD (Thomas Munro)
Disable the vacuum_cleanup_index_scale_factor
parameter and storage option (Peter Geoghegan)
Pass the correct trigger OID to object post-alter hooks
during ALTER CONSTRAINT (Álvaro Herrera)
Ensure we finish cleaning up when interrupted while detaching a DSM
segment (Thomas Munro)
-->
Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund)
Fix uninitialized variable in walreceiver's statistics in shared
memory (Fujii Masao)
Reduce the overhead of dtrace probes for LWLock operations, when
dtrace support is compiled in but not active (Peter Eisentraut)
Fix failure when a PL/pgSQL DO block makes use of
both composite-type variables and transaction control (Tom Lane)
Prevent infinite loop in
libpq
if a ParameterDescription message with a corrupt length is received
(Tom Lane)
to start the server, make the path shown
for
pg_ctl use backslash separators on
Windows (Nitin Jadhav)
Fix
psql to restore the previous behavior
of \connect
service=something (Tom Lane)
Fix
psql's
ON_ERROR_ROLLBACK
feature to handle COMMIT AND CHAIN commands
correctly (Arthur Nascimento)
In
psql, avoid repeated
could not
print result table failures after the first such error
(Álvaro Herrera)
Fix race condition in detection of file modification by
commands (Laurenz Albe)
generated columns in partitioned tables (Peter Eisentraut)
Fix missed file version check
Add some more checks to
pg_upgrade for
user tables containing non-upgradable data types (Tom Lane)
Fix incorrect progress-reporting calculation
in
pg_checksums (Shinya Kato)
count XACT records correctly when generating
per-record statistics (Kyotaro Horiguchi)
tuple flags HEAP_XMAX_LOCK_ONLY
and HEAP_KEYS_UPDATED both being set
(Julien Rouhaud)
Adjust VPATH build rules to support recent Oracle Developer Studio
compiler versions (Noah Misch)
-->
Fix testing of PL/Python for Python 3 on Solaris (Noah Misch)
Fix failure to check per-column SELECT privileges
in some join queries (Tom Lane)
Fix information leakage in constraint-violation error messages
(Heikki Linnakangas)
Fix incorrect detection of concurrent page splits while inserting
into a GiST index (Heikki Linnakangas)
Fix CREATE INDEX CONCURRENTLY to wait for
concurrent prepared transactions (Andrey Borodin)
Avoid crash when trying to rescan an aggregation plan node
that has both hashed and sorted grouping sets
(Jeff Davis)
Fix possible incorrect query results when a hash aggregation node
spills some tuples to disk (Tom Lane)
-->
Fix edge case in incremental sort (Neil Chen)
Avoid crash when a CALL or DO
statement that performs a transaction rollback is executed via
extended query protocol (Thomas Munro, Tom Lane)
Avoid unnecessary errors with BEFORE UPDATE
triggers on partitioned tables (Álvaro Herrera)
Fix partition pruning logic to handle asymmetric hash partition sets
(Tom Lane)
Avoid incorrect results when WHERE CURRENT OF is
applied to a cursor whose plan contains a MergeAppend node (Tom
Lane)
Fix crash when WHERE CURRENT OF is applied to a
cursor whose plan contains a custom scan node (David Geier)
Fix planner's mishandling of placeholders whose evaluation should be
delayed by an outer join (Tom Lane)
Fix planner's handling of placeholders during removal of useless
RESULT RTEs (Tom Lane)
Fix planner's handling of a placeholder that is computed at some
join level and used only at that same level (Tom Lane)
Consider unsorted subpaths when planning a Gather Merge operation
(James Coleman)
Do not consider ORDER BY expressions involving
parallel-restricted functions or set-returning functions when trying
to parallelize sorts (James Coleman)
Be more careful about whether index AMs support mark/restore
(Andrew Gierth)
Fix overestimate of the amount of shared memory needed for parallel
queries (Takayuki Tsunakawa)
Fix ALTER DEFAULT PRIVILEGES to handle duplicated
arguments safely (Michael Paquier)
Flush ACL-related caches when pg_authid
changes (Noah Misch)
Fix failure to detect snapshot too old
conditions
in tables rewritten in the current transaction (Kyotaro Horiguchi,
Noah Misch)
Fix spurious failure of CREATE PUBLICATION
when applied to a table created or rewritten in the current
transaction (Kyotaro Horiguchi)
Prevent misprocessing of ambiguous CREATE TABLE
LIKE clauses (Tom Lane)
Rearrange order of operations in CREATE TABLE
LIKE so that indexes are cloned before building foreign
key constraints (Tom Lane)
Disallow CREATE STATISTICS on system catalogs
(Tomas Vondra)
Disallow converting an inheritance child table to a view
(Tom Lane)
Ensure that disk space allocated for a dropped relation is released
promptly at commit (Thomas Munro)
Prevent dropping a tablespace that is referenced by a partitioned
relation, but is not used for any actual storage (Álvaro
Herrera)
Fix progress reporting for CLUSTER (Matthias van
de Meent)
Fix handling of backslash-escaped multibyte characters
in COPY FROM (Heikki Linnakangas)
Avoid preallocating executor hash tables
in EXPLAIN without ANALYZE
(Alexey Bashtanov)
Fix recently-introduced race condition
in LISTEN/NOTIFY queue
handling (Tom Lane)
Allow the jsonb concatenation operator to handle all
combinations of JSON data types (Tom Lane)
Fix use of uninitialized value while parsing a *
quantifier in a BRE-mode regular expression (Tom Lane)
Fix numeric power() for the case where the
exponent is exactly INT_MIN (-2147483648)
(Dean Rasheed)
Fix integer-overflow cases in substring()
functions (Tom Lane, Pavel Stehule)
Prevent possible data loss from incorrect detection of the
wraparound point of an SLRU log
(Noah Misch)
Fix WAL-reading logic to handle timeline switches correctly (Kyotaro
Horiguchi, Fujii Masao)
Fix memory leak in walsender processes while sending new snapshots
for logical decoding (Amit Kapila)
Fix relation cache leak in walsender processes while sending row
changes via the root of a partitioned relation during logical
replication (Amit Langote, Mark Zhao)
Fix walsender to accept additional commands after
terminating replication (Jeff Davis)
Ensure detection of deadlocks between hot standby backends and the
startup (WAL-application) process (Fujii Masao)
Fix possible failure to detect recovery conflicts while deleting an
index entry that references a HOT chain (Peter Geoghegan)
of krb_server_keyfile always overrides any
setting of KRB5_KTNAME in the server's
environment (Tom Lane)
to pg_hba.conf entries, include details about
whether GSS encryption has been activated (Kyotaro Horiguchi, Tom
Lane)
-->
Fix assorted issues in server's support for GSS encryption (Tom Lane)
Ensure that unserviced requests for background workers are cleaned
up when the postmaster begins a smart
or fast
shutdown sequence (Tom Lane)
Fix portability problem in parsing
of recovery_target_xid values (Michael Paquier)
Avoid trying to use parallel index build in a standalone backend
(Yulin Pei)
Allow index AMs to support included columns without necessarily
supporting multiple key columns (Tom Lane)
While taking a base backup, avoid executing any SHA256 code if a
backup manifest is not needed (Michael Paquier)
Avoid assertion failure during parallel aggregation of an
aggregate with a non-strict deserialization function (Andrew Gierth)
Avoid assertion failure in pg_get_functiondef()
when examining a function with a TRANSFORM option
(Tom Lane)
Fix data structure misallocation in
PL/pgSQL's CALL statement (Tom Lane)
In
libpq, do not skip trying SSL after
GSS encryption (Tom Lane)
PQconndefaults() function report the correct
default value for channel_binding
(Daniele Varrazzo)
In
psql, re-allow including a password
in a connection_string argument of a
\connect command (Tom Lane)
don't truncate the display of column default values (Tom Lane)
Fix assorted bugs
command (Kyotaro Horiguchi, Tom Lane)
Fix
pg_dump's dumping of inherited
generated columns (Peter Eisentraut)
as the owner of the publication, and similarly runs ALTER
INDEX ATTACH PARTITION commands as the owner of the
partitioned index (Tom Lane)
Fix
pg_dump to handle
WITH
GRANT OPTION in an extension's initial privileges
(Noah Misch)
In
pg_rewind, ensure that all WAL is
accounted for when rewinding a standby server
(Ian Barwick, Heikki Linnakangas)
In
pgbench, disallow a digit as the first
character of a variable name (Fabien Coelho)
Report the correct database name in connection failure error
messages from some client programs (Álvaro Herrera)
Fix memory leak in contrib/auto_explain
(Japin Li)
In contrib/postgres_fdw, avoid leaking open
connections to remote servers when a user mapping or foreign server
object is dropped (Bharath Rupireddy)
Fix faulty assertion in contrib/postgres_fdw
(Etsuro Fujita)
In contrib/pgcrypto, check for error returns
from OpenSSL's EVP functions (Michael Paquier)
Make contrib/pg_prewarm more robust when the
cluster is shut down before prewarming is complete (Tom Lane)
In contrib/pg_trgm's GiST index support, avoid
crash in the rare case that picksplit is called on exactly two index
items (Andrew Gierth, Alexander Korotkov)
in contrib/pg_prewarm
and contrib/postgres_fdw
(Alexey Kondratov, Tom Lane)
Improve
configure's heuristics for
selecting PG_SYSROOT on macOS (Tom Lane)
While building on macOS, specify in
link steps as well as compile steps (James Hilliard)
Fix JIT compilation to be compatible with LLVM 11 and LLVM 12
(Andres Freund)
Fix potential mishandling of references to boolean variables in
JIT expression compilation (Andres Freund)
-->
Fix compile failure with ICU 68 and later (Tom Lane)
Avoid memcpy() with a NULL source pointer and
zero count during partitioned index creation (Álvaro Herrera)
South Sudan, plus historical corrections for Australia, Bahamas,
Belize, Bermuda, Ghana, Israel, Kenya, Nigeria, Palestine,
Seychelles, and Vanuatu. (Tom Lane)
Block DECLARE CURSOR ... WITH HOLD and firing of
deferred triggers within index expressions and materialized view
queries (Noah Misch)
command re-uses connection parameters, ensure that all
non-overridden parameters from a previous connection string are
re-used (Tom Lane)
command from modifying specially-treated variables (Noah Misch)
Fix unintended breakage of the replication protocol
(Álvaro Herrera)
Ensure that SLRU directories are properly fsync'd during checkpoints
(Thomas Munro)
Fix ALTER ROLE for users with
the BYPASSRLS attribute (Tom Lane, Stephen Frost)
Disallow ALTER TABLE ONLY ... DROP EXPRESSION when
there are child tables (Peter Eisentraut)
Ensure that ALTER TABLE ONLY ... ENABLE/DISABLE
TRIGGER does not recurse to child tables
(Álvaro Herrera)
Allow LOCK TABLE to succeed on a self-referential
view (Tom Lane)
Retain statistics about an index across REINDEX
CONCURRENTLY (Michael Paquier, Fabrízio de Royes Mello)
Fix incorrect progress reporting from REINDEX
CONCURRENTLY (Matthias van de Meent, Michael Paquier)
Ensure that GENERATED columns are updated when
the column(s) they depend on are updated via a rule or an updatable
view (Tom Lane)
Fix failures with collation-dependent partition bound expressions
(Tom Lane)
-->
Support hashing of text arrays (Peter Eisentraut)
Prevent internal overflows in cross-type datetime
comparisons (Nikita Glukhov, Alexander Korotkov, Tom Lane)
Fix off-by-one conversion of negative years to BC dates
in to_date()
and to_timestamp() (Dar Alathar-Yemen, Tom Lane)
Allow the jsonpath .datetime()
method to accept ISO 8601-format timestamps (Nikita Glukhov)
Ensure that standby servers will archive WAL timeline history files
when archive_mode is set
to always (Grigory Smolkin, Fujii Masao)
Fix edge cases in detecting premature death of the postmaster on
platforms that use kqueue() (Thomas Munro)
Avoid generating an incorrect incremental-sort plan when the sort key
is a volatile expression (James Coleman)
Fix possible crash when considering partition-wise joins
during GEQO planning (Tom Lane)
Fix possible infinite loop or corrupted output data in TOAST
decompression (Tom Lane)
Fix counting of the number of entries in B-tree indexes during
cleanup-only VACUUMs (Peter Geoghegan)
Ensure that data is detoasted before being inserted into a BRIN
index (Tomas Vondra)
Fix buffered GiST index builds to work when the index has included
columns (Pavel Borisov)
Fix unportable use of getnameinfo()
in pg_hba_file_rules view (Tom Lane)
Avoid crash if debug_query_string is NULL
when starting a parallel worker (Noah Misch)
Avoid failures when a BEFORE ROW UPDATE trigger
returns the old
row of a table having dropped
or missing
columns (Amit Langote, Tom Lane)
Fix EXPLAIN's output for incremental sort plans
to have correct tag nesting in XML output mode (Daniel Gustafsson)
Avoid unnecessary failure when transferring very large payloads
through shared memory queues (Markus Wanner)
Fix omission of result data type coercion in some cases in
SQL-language functions (Tom Lane)
Fix incorrect handling of template function attributes in JIT code
generation (Andres Freund)
Improve code generated for compare_exchange and fetch_add operations
on PPC (Noah Misch)
-->
Fix relation cache memory leaks with RLS policies (Tom Lane)
Fix edge-case memory leak
in index_get_partition() (Justin Pryzby)
Fix small memory leak when SIGHUP processing decides that a new GUC
variable value cannot be applied without a restart (Tom Lane)
Fix memory leaks
processing (Pavel Stehule, Tom Lane)
call WSAStartup() once per process
and WSACleanup() not at all (Tom Lane,
Alexander Lakhin)
Fix
ecpg library's per-thread
initialization logic for Windows (Tom Lane, Alexander Lakhin)
Fix
ecpg's mis-processing
of B'...' and X'...' literals
(Shenhao Wang)
On Windows, make
psql read the output of
a backtick command in text mode, not binary mode (Tom Lane)
Ensure that
pg_dump collects per-column
information about extension configuration tables (Fabrízio de
Royes Mello, Tom Lane)
Make
pg_upgrade check for pre-existence
of tablespace directories in the target cluster (Bruce Momjian)
Fix potential memory leak in contrib/pgcrypto
(Michael Paquier)
Add check for an unlikely failure case
in contrib/pgcrypto (Daniel Gustafsson)
Fix recently-added timetz test case so it works when
the USA is not observing daylight savings time (Tom Lane)
Canadian Yukon, Macquarie Island, and Casey Station (Antarctica);
plus historical corrections for France, Hungary, Monaco, and
Palestine. (Tom Lane)
Sync our copy of the timezone library with IANA tzcode release 2020d
(Tom Lane)
Change SIMILAR
TO ... ESCAPE NULL to return NULL
(Tom Lane)
linkend="textsearch-functions-table">json[b]_to_tsvector()
fully check the spelling of its string option
(Dominik Czarnota)
Change the way non-default
linkend="guc-effective-io-concurrency"/> values affect concurrency
(Thomas Munro)
Prevent display of auxiliary processes in
linkend="pg-stat-ssl-view"/> and
system views (Euler Taveira)
Rename various wait
events to improve consistency (Fujii Masao, Tom Lane)
Fix ALTER FOREIGN
TABLE ... RENAME COLUMN to return a more appropriate
command tag (Fujii Masao)
Fix ALTER
MATERIALIZED VIEW ... RENAME COLUMN to return a more
appropriate command tag (Fujii Masao)
Rename configuration parameter wal_keep_segments
to (Fujii Masao)
Remove support for defining operator
classes using pre-
PostgreSQL
8.0 syntax (Daniel Gustafsson)
Remove support for defining foreign key
constraints using pre-
PostgreSQL
7.3 syntax (Daniel Gustafsson)
linkend="sql-createtype">pseudo-types used by
pre-
PostgreSQL 7.3 servers (Daniel
Gustafsson)
Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane)
Remove support for posixrules files in the
timezone database (Tom Lane)
contains adjacent asterisks with braces,
e.g., *{2}.*{3}, properly interpret that
as *{5} (Nikita Glukhov)
Fix 's bt_metap()
to return more appropriate data types that are less likely to overflow
(Peter Geoghegan)
Allow pruning of
partitions to happen in more cases
(Yuzuko Hosoya, Amit Langote, Álvaro Herrera)
Allow partitionwise
joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita,
Amit Langote, Tom Lane)
Support row-level
BEFORE
linkend="triggers">triggers on partitioned tables (Álvaro
Herrera)
Allow partitioned tables to be logically replicated via
linkend="sql-createpublication">publications (Amit Langote)
Allow logical replication into partitioned tables on subscribers
(Amit Langote)
Allow whole-row variables (that
is, table.*) to be
used in partitioning expressions (Amit Langote)
More efficiently store
linkend="btree-deduplication">duplicates in B-tree indexes
(Anastasia Lubennikova, Peter Geoghegan)
columns to support ORDER BY box
<-> point queries (Nikita
Glukhov)
more efficiently handle ! (NOT) clauses
in tsquery searches (Nikita
Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)
Allow index operator classes
to take parameters (Nikita Glukhov)
Allow CREATE INDEX to specify the GiST signature
length and maximum number of integer ranges (Nikita Glukhov)
Prevent indexes that use non-default collations from being
linkend="sql-altertable">added as a table's unique or primary
key constraint (Tom Lane)
Improve the optimizer's
linkend="planner-stats-details">selectivity estimation for
containment/match operators (Tom Lane)
Allow setting the statistics target
for extended statistics
(Tomas Vondra)
Allow use of multiple extended statistics objects in a single query
(Tomas Vondra)
Allow use of extended statistics objects for OR clauses and
linkend="functions-subquery">IN/ANY constant
lists (Pierre Ducroquet, Tomas Vondra)
Allow functions in FROM clauses to be pulled up
(inlined) if they evaluate to constants (Alexander Kuzmenkov,
Aleksandr Parfenov)
Implement incremental
sorting (James Coleman, Alexander Korotkov, Tomas Vondra)
Improve the performance of sorting
linkend="datatype-inet">inet values (Brandur Leach)
Allow hash aggregation
to use disk storage for large aggregation result sets (Jeff Davis)
Allow inserts, not only updates and deletes, to trigger vacuuming
activity in autovacuum
(Laurenz Albe, Darafei Praliaskouski)
Add parameter to
control I/O concurrency for maintenance operations (Thomas Munro)
that creates or rewrites a relation, if
linkend="guc-wal-level"/> is minimal (Kyotaro
Horiguchi)
Improve performance when replaying
linkend="sql-dropdatabase">DROP DATABASE
commands when many tablespaces are in use (Fujii Masao)
Improve performance for truncation
of very large relations (Kirk Jamison)
Improve retrieval of the leading bytes of
linkend="storage-toast">
TOAST'ed values
(Binguo Bao, Andrey Borodin)
Improve performance of
linkend="sql-listen">LISTEN/NOTIFY
(Martijn van Oosterhout, Tom Lane)
Speed up conversions of integers to text (David Fetter)
Reduce memory usage for query strings and extension scripts that
contain many
SQL statements (Amit Langote)
linkend="autovacuum">autovacuum, and
linkend="pgstatstatements"/> to track
WAL usage
statistics (Kirill Bychik, Julien Rouhaud)
Allow a sample of SQL statements, rather than all statements, to
be logged (Adrien Nayrat)
Add the backend type to
linkend="runtime-config-logging">csvlog and optionally
linkend="guc-log-line-prefix"/> log output (Peter Eisentraut)
Improve control of prepared statement parameter logging (Alexey
Bashtanov, Álvaro Herrera)
Allow function call backtraces to be logged after errors (Peter
Eisentraut, Álvaro Herrera)
Make vacuum buffer counters 64-bits
wide to avoid overflow (Álvaro Herrera)
Add
leader_pid to
linkend="pg-stat-activity-view"/> to report a parallel worker's
leader process (Julien Rouhaud)
Add system view
linkend="basebackup-progress-reporting">pg_stat_progress_basebackup
to report the progress of streaming base backups (Fujii Masao)
linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_analyze
to report ANALYZE progress
(Álvaro Herrera, Tatsuro Yamada, Vinayak Pokale)
Add system view
linkend="view-pg-shmem-allocations">pg_shmem_allocations
to display shared memory usage (Andres Freund, Robert Haas)
linkend="monitoring-stats-views-table">pg_stat_slru
to monitor internal
SLRU caches
(Tomas Vondra)
Allow to be set as
high as 1MB (Vyacheslav Makarov)
Report a wait event while creating a DSM segment
with posix_fallocate() (Thomas Munro)
Add wait event VacuumDelay to report on cost-based vacuum delay
(Justin Pryzby)
Add wait events for
WAL archive and recovery pause
(Fujii Masao)
Add wait events RecoveryConflictSnapshot and
RecoveryConflictTablespace to monitor recovery conflicts (Masahiko
Sawada)
Improve performance of wait events on
BSD-based
systems (Thomas Munro)
Allow only superusers to view the
linkend="guc-ssl-passphrase-command"/> setting (Insung Moon)
Change the server's default minimum
TLS version
for encrypted connections from 1.0 to 1.2 (Peter Eisentraut)
Tighten rules on which utility commands are allowed in
read-only transaction mode (Robert Haas)
Allow to be changed
after server start (Peter Eisentraut)
Disallow non-superusers from modifying system tables when
linkend="guc-allow-system-table-mods"/> is set (Peter Eisentraut)
Enable support
for Unix-domain
sockets on Windows (Peter Eisentraut)
Allow streaming replication configuration settings to be changed by
reload (Sergei Kornilov)
Allow
WAL receivers to use a temporary
replication slot when a permanent one is not specified (Peter
Eisentraut, Sergei Kornilov)
Allow WAL storage for replication slots to be limited by
(Kyotaro Horiguchi)
Allow standby promotion
to cancel any requested pause (Fujii Masao)
Generate an error if recovery does not reach the specified
linkend="runtime-config-wal-recovery-target">recovery target
(Leif Gunnar Erlandsen, Peter Eisentraut)
Allow control over how much memory is used by logical decoding before
it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila)
Allow recovery to continue even if invalid
pages are referenced by
WAL (Fujii Masao)
Allow VACUUM
to process a table's indexes in parallel (Masahiko Sawada, Amit Kapila)
Allow FETCH FIRST
to use WITH TIES to return any additional rows
that match the last result row (Surafel Temesgen)
Report planning-time buffer usage in
linkend="sql-explain">EXPLAIN's
BUFFER output (Julien Rouhaud)
LIKE propagate a CHECK
constraint's NO INHERIT property to the created
table (Ildar Musin, Chris Travers)
When using LOCK
TABLE on a partitioned table, do not check permissions
on the child tables (Amit Langote)
Allow OVERRIDING USER
VALUE on inserts into identity columns (Dean Rasheed)
TABLE ... DROP EXPRESSION
to allow removing the GENERATED
property from a column (Peter Eisentraut)
Fix bugs in multi-step ALTER TABLE commands (Tom
Lane)
Add ALTER VIEW
syntax to rename view columns (Fujii Masao)
Add ALTER TYPE
options to modify a base type's
TOAST properties
and support functions (Tomas Vondra, Tom Lane)
Add CREATE
DATABASE LOCALE option (Peter
Eisentraut)
Allow DROP
DATABASE to disconnect sessions using the target
database, allowing the drop to succeed (Pavel Stehule, Amit Kapila)
linkend="trigger-interface">tg_updatedcols
to allow C-language update triggers to know which column(s) were updated
(Peter Eisentraut)
Add polymorphic data types for use by functions requiring compatible
arguments (Pavel Stehule)
Add
SQL data type
linkend="datatype-oid">xid8 to expose
FullTransactionId (Thomas Munro)
type regcollation
and associated functions, to represent OIDs of collation objects
(Julien Rouhaud)
Use the glibc version in some cases as a
linkend="collation">collation version identifier (Thomas Munro)
Add support for collation versions on Windows (Thomas Munro)
Allow ROW
expressions to have their members extracted with suffix
notation (Tom Lane)
Add alternate version of
linkend="functions-json-processing-table">jsonb_set()
with improved NULL handling (Andrew Dunstan)
linkend="functions-sqljson-path-operators">.datetime()
method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander
Korotkov)
linkend="collation-nondeterministic">IS
NORMALIZED to check for normalization (Peter
Eisentraut)
max() aggregates for
linkend="datatype-pg-lsn">pg_lsn (Fabrízio
de Royes Mello)
or U&'\nnnn', to
specify any character available in the database encoding, even when
the database encoding is not
UTF-8 (Tom Lane)
linkend="functions-formatting">to_date()
and to_timestamp() to recognize non-English
month/day names (Juan José Santamaría Flecha, Tom Lane)
– FF6 to specify input or output of
1 to 6 fractional-second digits (Alexander
Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov)
Add SSSSS datetime format pattern as an
SQL-standard alias for
SSSS
(Nikita Glukhov, Alexander Korotkov)
Add function
linkend="functions-uuid">gen_random_uuid()
to generate version-4 UUIDs (Peter Eisentraut)
(gcd)
and least-common-multiple (lcm) functions (Vik
Fearing)
type's square root
(sqrt) and natural log
(ln) functions (Dean Rasheed)
that returns the number of digits to the right of the decimal point
that are required to represent a numeric value with
full accuracy (Pavel Stehule)
linkend="functions-math-func-table">trim_scale()
to reduce the scale of a numeric value by removing
trailing zeros (Pavel Stehule)
Add commutators of distance
operators (Nikita Glukhov)
Create
xid8 versions of all
linkend="functions-pg-snapshot">transaction ID functions
(Thomas Munro)
linkend="functions-binarystring-other">get_bit()
and set_bit() to set bits beyond the first
256MB of a bytea value (Movead Li)
Allow advisory-lock
functions to be used in some parallel operations (Tom Lane)
Add the ability to remove an object's dependency on an extension
(Álvaro Herrera)
Improve performance of simple PL/pgSQL expressions (Tom Lane,
Amit Langote)
Improve performance of PL/pgSQL functions that use immutable
expressions (Konstantin Knizhnik)
Allow libpq clients to require channel binding for encrypted
connections (Jeff Davis)
Add libpq connection parameters to control the minimum and maximum
TLS version allowed for an encrypted connection
(Daniel Gustafsson)
Allow use of passwords to unlock client certificates (Craig
Ringer, Andrew Dunstan)
Allow libpq to use
DER-encoded client
certificates (Craig Ringer, Andrew Dunstan)
elif directive to work correctly (Tom Lane)
Add transaction status (%x)
prompts (Vik Fearing)
Allow the secondary
psql prompt to be
blank but the same width as the primary prompt (Thomas Munro)
and \gx commands to
change \pset output
options for the duration of that single command (Tom Lane)
Add
psql commands to display operator
classes and operator families (Sergey Cherkashin, Nikita Glukhov,
Alexander Korotkov)
Show table persistence in
psql's
linkend="app-psql-meta-commands">\dt+
and related commands (David Fetter)
Improve output of
psql's
linkend="app-psql-meta-commands">\d
for
TOAST tables (Justin Pryzby)
Fix redisplay after
psql's
linkend="app-psql-meta-commands">\e
command (Tom Lane)
Add
linkend="app-psql-meta-commands">\warn
command to
psql (David Fetter)
Add the
PostgreSQL home page to command-line
output (Peter Eisentraut)
Allow pgbench to partition its accounts
table
(Fabien Coelho)
Add pgbench command \aset, which behaves
like \gset, but for multiple queries (Fabien
Coelho)
Allow pgbench to generate its initial data server-side, rather
than client-side (Fabien Coelho)
Allow pgbench to show script contents using option
(Fabien Coelho)
Generate backup manifests for base backups, and verify them (Robert
Haas)
Have
linkend="app-pgbasebackup">
pg_basebackup
estimate the total backup size by default (Fujii Masao)
Add an option to
linkend="app-pgrewind">
pg_rewind
to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
Allow
pg_rewind to use the target
cluster's to retrieve needed
Have
pg_rewind automatically run crash
recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal)
Increase the PREPARE
TRANSACTION-related information reported by
linkend="pgwaldump">
pg_waldump
option to suppress non-error output (Andres
Freund, Robert Haas)
linkend="app-pgdump">
pg_dump
option to dump data from
foreign servers (Luis Carril)
Allow vacuum commands run by
linkend="app-vacuumdb">vacuumdb to operate in parallel mode
(Masahiko Sawada)
Allow reindexdb to operate in
parallel (Julien Rouhaud)
Allow dropdb to disconnect
sessions using the target database, allowing the drop to succeed
(Pavel Stehule)
Remove and
from createuser (Alexander
Lakhin)
linkend="pgupgrade">
pg_upgrade
program as the default setting when
running
pg_upgrade (Daniel Gustafsson)
Add a glossary to the documentation
(Corey Huinker, Jürgen Purtz, Roger Harkavy, Álvaro
Herrera)
Reformat tables containing function
and operator information for better clarity (Tom Lane)
Upgrade to use DocBook 4.5
(Peter Eisentraut)
Add support for building on Visual Studio 2019 (Haribabu Kommi)
Add build support for MSYS2 (Peter Eisentraut)
Add compare_exchange and fetch_add assembly language code for Power
PC compilers (Noah Misch)
Update Snowball
stemmer dictionaries used by full text search (Panagiotis
Mavrogiorgos)
Remove support for Windows 2000 (Michael Paquier)
Remove support for non-
ELF BSD
systems (Peter Eisentraut)
Remove support for Python versions
2.5.X and earlier (Peter Eisentraut)
Remove support for OpenSSL 0.9.8
and 1.0.0 (Michael Paquier)
Remove configure options
and (Peter Eisentraut)
Pass the query string to planner hook functions (Pascal Legrand,
Julien Rouhaud)
Add TRUNCATE
command hook (Yuli Khodorkovskiy)
Add
TLS init hook (Andrew Dunstan)
Allow building with no predefined Unix-domain socket directory
(Peter Eisentraut)
Reduce the probability of SysV resource key collision on Unix platforms
(Tom Lane)
Use operating system functions to reliably erase memory that contains
sensitive information (Peter Eisentraut)
Add headerscheck script to test C header-file
compatibility (Tom Lane)
Implement internal lists as arrays, rather than a chain of cells
(Tom Lane)
Change the API for TS_execute() (Tom Lane,
Pavel Borisov)
Allow extensions to be
specified as trusted (Tom Lane)
Allow non-superusers to connect to
foreign servers without using a password (Craig Ringer)
Allow
postgres_fdw to use certificate
authentication (Craig Ringer)
Allow to control access to the
TRUNCATE command (Yuli Khodorkovskiy)
linkend="plperl">
bool_plperl
which transforms
SQL booleans to/from PL/Perl
booleans (Ivan Panchenko)
Have treat SELECT
... FOR UPDATE commands as distinct from those
without FOR UPDATE (Andrew Gierth, Vik Fearing)
Allow
pg_stat_statements to optionally
track the planning time of statements (Julien Rouhaud, Pascal Legrand,
Thomas Munro, Fujii Masao)
Overhaul 's lquery syntax to treat
NOT (!) more logically (Filip Rembialkowski,
Tom Lane, Nikita Glukhov)
Add support for binary I/O of , lquery, and
ltxtquery types (Nino Floris)
Add an option to to ignore the sign
of integers (Jeff Janes)
Add function
pg_file_sync() to allow fsync'ing a file
(Fujii Masao)
t_infomask/t_infomask2
values in human-readable format (Craig Ringer, Sawada Masahiko,
Michael Paquier)
Add B-tree index de-duplication processing columns to pageinspect output
(Peter Geoghegan)