Prevent unauthorized code execution
during
pg_dump (Masahiko Sawada)
Prevent infinite loop in VACUUM
(Melanie Plageman)
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 partition pruning setup during ALTER TABLE DETACH
PARTITION CONCURRENTLY (Álvaro Herrera)
Correctly update a partitioned table's
pg_class.reltuples
field to zero after its last child partition is dropped (Noah Misch)
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 handling of extended statistics on expressions
in CREATE TABLE LIKE STATISTICS (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)
Prevent deadlocks and assertion failures during truncation of the
multixact SLRU log (Heikki Linnakangas)
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 failure in Memoize cost estimation
(David Rowley)
Fix otherwise-harmless assertion failures in REINDEX
CONCURRENTLY applied to an SP-GiST index (Tom Lane)
Restrict visibility of pg_stats_ext and
pg_stats_ext_exprs entries to the table
owner (Nathan Bossart)
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)
Improve ALTER TABLE ... ALTER COLUMN TYPE's error
message when there is a dependent function or publication (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)
Avoid freeing still-in-use data in Memoize (Tender Wang, Andrei
Lepikhov)
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)
Fix mis-rounding and overflow hazards
in date_bin() (Moaaz Assali)
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)
Ensure that a table's freespace map won't return a page that's past
the end of the table (Ronan Dunklau)
Fix file descriptor leakage when an error is thrown while waiting
in WaitEventSetWait (Etsuro Fujita)
Avoid corrupting exception stack if an FDW implements async append
but doesn't configure any wait conditions for the Append plan node
to wait for (Alexander Pyhalov)
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)
-->
Fix bugs in BRIN output functions (Tomas Vondra)
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)
Prevent access to a no-longer-pinned buffer in BEFORE ROW
UPDATE triggers (Alexander Lakhin, 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 overly tight assertion
about false_positive_rate parameter of
BRIN bloom operator classes (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)
Avoid failure if a child index is dropped concurrently
with REINDEX INDEX on a partitioned index
(Fei Changhong)
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)
Prevent examining system catalogs with the wrong snapshot during
logical decoding (Fei Changhong)
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)
Fix file descriptor leakage when a foreign data
wrapper's ForeignAsyncRequest function fails
(Heikki Linnakangas)
Report ENOMEM errors from file-related system
calls as ERRCODE_OUT_OF_MEMORY,
not ERRCODE_INTERNAL_ERROR (Alexander Kuzmenkov)
In
PL/pgSQL, support SQL commands that
are CREATE FUNCTION/CREATE
PROCEDURE with SQL-standard bodies (Tom Lane)
handling of errors in pipelines (Álvaro Herrera)
PQsendFlushRequest() function flush the client
output buffer under the same rules as
other PQsend functions (Jelte Fennema-Nio)
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)
Make it an error for a
pgbench script to
end with an open pipeline (Anthonin Bonnefoy)
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)
Process date values more sanely in
BRIN datetime_minmax_multi_ops indexes
(Tomas Vondra)
values more sanely in
BRIN datetime_minmax_multi_ops indexes
(Tomas Vondra)
Avoid calculation overflows in
BRIN interval_minmax_multi_ops indexes with
extreme interval values (Tomas Vondra)
Fix partition step generation and runtime partition pruning for
hash-partitioned tables with multiple partition keys (David Rowley)
inherited UPDATE/DELETE/MERGE
even when the parent table is excluded by constraints (Amit Langote,
Tom Lane)
Fix edge case in btree mark/restore processing of ScalarArrayOpExpr
clauses (Peter Geoghegan)
Fix intra-query memory leak in Memoize execution
(Orlov Aleksej, David Rowley)
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)
In COPY FROM, fail cleanly when an unsupported
encoding conversion is needed (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)
Fix the background writer to report any WAL writes it makes to the
statistics counters (Nazir Bilal Yavuz)
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)
Track hash function and negator function dependencies of
ScalarArrayOpExpr plan nodes (David Rowley)
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 could not duplicate handle
error occurring on
Windows when min_dynamic_shared_memory is set
above zero (Thomas Munro)
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)
Don't Memoize lateral joins with volatile join conditions
(Richard Guo)
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 misbehavior of EvalPlanQual checks with inherited or partitioned
target tables (Tom Lane)
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)
Fix contrib/pageinspect's
gist_page_items() function to work when there
are included index columns (Alexander Lakhin, Michael Paquier)
Fix
pg_dump to correctly handle new-style
SQL-language functions whose bodies require parse-time dependencies
on unique indexes (Tom Lane)
Ensure
that pg_index.indisreplident
is kept up-to-date in relation cache entries (Shruthi Gowda)
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)
Avoid failure with PlaceHolderVars in extended-statistics code
(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)
-->
Fix memory leak in Memoize plan execution (David Rowley)
Fix buffer refcount leak when using batched inserts for a foreign
table included in a partitioned tree (Alexander Pyhalov)
Restore support for
sub-millisecond vacuum_cost_delay settings
(Thomas Munro)
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)
Avoid useless work while scanning a multi-column BRIN index with
multiple scan keys (Tomas Vondra)
Fix netmask handling in BRIN inet_minmax_multi_ops opclass
(Tomas Vondra)
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)
Re-activate reporting of wait event SLRUFlushSync
(Thomas Munro)
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)
Correctly detect non-seekable files on Windows
(Juan José Santamaría Flecha, Michael Paquier, Daniel Watzinger)
mode, prepare all the commands in a pipeline before starting the
pipeline (Álvaro Herrera)
In contrib/amcheck's heap checking code, deal
correctly with tuples having zero xmin or xmax (Robert Haas)
In contrib/amcheck, deal sanely with xids that
appear to be before epoch zero (Andres Freund)
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)
In contrib/pageinspect, add defenses against
incorrect input for the gist_page_items() function
(Dmitry Koval)
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 a WITH RECURSIVE ... CYCLE CTE
to access its output column (Tom Lane)
Fix handling of pending inserts when doing a bulk insertion to a
foreign table (Etsuro Fujita)
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 jsonb subscripting to cope with toasted subscript
values (Tom Lane, 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)
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 planner issues when combining Memoize nodes with partitionwise
joins or parameterized nestloops (Richard Guo)
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)
Fix under-parenthesized display of AT TIME ZONE
constructs (Tom Lane)
Prevent clobbering of cached parsetrees for utility statements in
SQL functions (Tom Lane, Daniel Gustafsson)
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)
Fix deadlock between DROP DATABASE and logical
replication worker process (Hou Zhijie)
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)
In logical decoding, notify the remote node when a transaction is
detected to have crashed (Hou Zhijie)
-->
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 int64_div_fast_to_numeric() to work for a
wider range of inputs (Dean Rasheed)
Fix latent buffer-overrun problem in WaitEventSet
logic (Thomas Munro)
Avoid nominally-undefined behavior when accessing shared memory in
32-bit builds (Andres Freund)
-->
Fix assertion failure in BRIN minmax-multi opclasses (Tomas Vondra)
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)
and \ef commands to handle SQL-language functions
that have
SQL-standard function bodies (Tom Lane)
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)
-->
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 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)
Avoid failure in EXPLAIN VERBOSE for a query
using SEARCH BREADTH FIRST with constant
initial values (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)
In
libpq, handle single-row mode
correctly when pipelining (Denis Laxalde)
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 incorrect plans when sorting by an expression that contains a
non-top-level set-returning function (Richard Guo, Tom Lane)
Fix incorrect permissions-checking code for extended statistics
(Richard Guo)
Fix extended statistics machinery to handle MCV-type statistics on
boolean-valued expressions (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)
Allow cancellation of ANALYZE while it is
computing extended statistics (Tom Lane, Justin Pryzby)
Improve syntax error messages for type jsonpath
(Andrew Dunstan)
Ensure that pg_stop_backup() cleans up session
state properly (Fujii Masao)
Fix trim_array() to handle a zero-dimensional
array argument sanely (Martin Kalcher)
Fix join alias matching in FOR [KEY] UPDATE/SHARE
clauses (Dean Rasheed)
Reject ROW() expressions and functions
in FROM that have too many columns (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)
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)
Fix WAL consistency checking logic to correctly
handle BRIN_EVACUATE_PAGE flags (Haiyang Wang)
Fix erroneous assertion checks in shared hashtable management
(Thomas Munro)
Avoid assertion failure
when min_dynamic_shared_memory is set to a
non-default value (Thomas Munro)
Arrange to clean up after commit-time errors
within SPI_commit(), rather than expecting
callers to do that (Peter Eisentraut, Tom Lane)
Improve
libpq's handling of idle states
in pipeline mode (Álvaro Herrera, Kyotaro Horiguchi)
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)
Fix
pg_upgrade to detect non-upgradable
usages of functions taking anyarray (Justin Pryzby)
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)
In contrib/postgres_fdw, prevent batch
insertion when there are WITH CHECK OPTION
constraints (Etsuro Fujita)
Fix contrib/postgres_fdw to detect failure to
send an asynchronous data fetch query (Fujii Masao)
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)
Avoid using signalfd()
on
illumos systems (Thomas Munro)
Prevent possible corruption of indexes created or rebuilt with
the CONCURRENTLY option (Álvaro Herrera)
Harden Memoize plan node against non-deterministic equality
functions (David Rowley)
-->
Fix incorrect cost estimates for Memoize plans (David Rowley)
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)
Prevent pg_stat_get_subscription() from
possibly returning an extra row containing garbage values
(Kuntal Ghosh)
Fix COPY FROM's error checking in the case where
the database encoding is SQL_ASCII while the
client's encoding is a multi-byte encoding (Heikki Linnakangas)
Avoid crashing if too many column aliases are attached to
an XMLTABLE or JSON_TABLE
construct (Álvaro Herrera)
When decompiling a view or rule, show a SELECT
output column's AS "?column?" alias clause
if it could be referenced elsewhere (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)
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)
Remove misguided SSL key file ownership check
Ensure
ecpg reports server connection loss
sanely (Tom Lane)
Prevent crash after server connection loss
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 roundoff when extracting epoch values from intervals
(Peter Eisentraut)
Defend against pg_stat_get_replication_slot(NULL)
(Andres Freund)
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 failure when a Result plan node appears immediately
underneath an Append node (Etsuro Fujita)
Fix planner failure if a query using SEARCH
or CYCLE features contains a duplicate CTE name
(Tom Lane, Kyotaro Horiguchi)
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)
Tighten lookup of the index owned by
a constraint
(Tom Lane, Japin Li)
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)
Prevent data loss if a system crash occurs shortly after a sorted
GiST index build (Heikki Linnakangas)
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)
Re-allow underscore as the first character in a custom parameter
name (Japin Li)
Add regress option for
the compute_query_id parameter (Michael Paquier)
-->
Improve wait logic in RegisterSyncRequest (Thomas Munro)
Wake up for latch events when the checkpointer is waiting between
writes (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)
Make the server more robust against missed timer interrupts (Michael
Harris, Tom Lane)
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)
patterns
and
pg_amcheck (Mark Dilger)
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)
In contrib/postgres_fdw, disable batch
insertion when BEFORE INSERT ... FOR EACH ROW
triggers exist on the foreign table (Etsuro Fujita)
that ORDER BY clauses are safe to ship before
requesting a remotely-ordered query, and include
a USING clause if necessary (Ronan Dunklau)
Fix
configure to handle platforms that
have sys/epoll.h but
not sys/signalfd.h (Tom Lane)
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)
Do not add OpenSSL dependencies to
libpq's
pkg-config file when building without OpenSSL
(Fabrice Fontaine)
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)
Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes
state to fully DEAD during page pruning (Andres Freund)
Fix crash in EvalPlanQual rechecks for tables with a mix of local
and foreign partitions (Etsuro Fujita)
Fix dangling pointer in COPY TO
(Bharath Rupireddy)
Avoid null-pointer crash in ALTER STATISTICS
when the statistics object is dropped concurrently (Tomas Vondra)
Correctly handle alignment padding when extracting a range from a
multirange (Alexander Korotkov)
Fix over-optimistic use of hashing for
anonymous RECORD data types (Tom Lane)
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)
Fix Memoize plan nodes to handle subplans that use parameters
coming from above the Memoize (David Rowley)
Fix Memoize plan nodes to work correctly with non-hashable join
operators (David Rowley)
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)
Ensure that replication origin timestamp is set while replicating
a ROLLBACK PREPARED operation (Masahiko Sawada)
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)
Fix failure of SP-GiST indexes when the indexed column's data type
is binary-compatible with the declared input type of the operator
class (Tom Lane)
Allow parallel vacuuming and concurrent index building to be ignored
while computing oldest xmin (Masahiko Sawada)
-->
Fix memory leak when updating expression indexes (Peter Geoghegan)
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)
Ensure that the session targeted
by pg_log_backend_memory_contexts() sends its
results only to the server's log (Fujii Masao)
Fix display of whole-row variables appearing
in INSERT ... VALUES rules (Tom Lane)
When reverse-listing a SQL-standard function body, display function
parameters appropriately within INSERT ... SELECT
(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)
sort a table's extended statistics objects by name not OID (Justin
Pryzby)
Fix
psql's tab-completion of label values
for enum types (Tom Lane)
Fix failures on Windows when using the terminal as data source
or destination (Dmitry Koval, Juan José Santamaría Flecha, Michael
Paquier)
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)
Fix edge cases in postgres_fdw's handling of
asynchronous queries (Etsuro Fujita)
the deprecated
distutils module, to
determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres
Freund)
Re-allow cross-compilation
without
OpenSSL (Tom Lane)
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)
Ensure that parallel VACUUM doesn't miss any
indexes (Peter Geoghegan, Masahiko Sawada)
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 REINDEX CONCURRENTLY to preserve operator
class parameters that were attached to the target index
(Michael Paquier)
Fix incorrect creation of shared dependencies when cloning a
database that contains non-builtin objects (Aleksander Alekseev)
Ensure that the relation cache is invalidated for a table being
attached to or detached from a partitioned table (Amit Langote,
Álvaro Herrera)
Fix corruption of parse tree while creating a range type (Alex
Kozhemyakin, Sergey Shinderuk)
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 ALTER INDEX index ALTER COLUMN col SET
(options) (Nathan Bossart, Michael Paquier)
Fix corner-case loss of precision in
numeric power() (Dean Rasheed)
Avoid choosing the wrong hash equality operator for Memoize plans
(David Rowley)
Fix planner error with pulling up subquery expressions into function
rangetable entries (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)
Fix could not find RecursiveUnion
error
when EXPLAIN tries to print a filter condition
attached to a WorkTableScan node (Tom Lane)
Ensure that the correct lock level is used when renaming a table
(Nathan Bossart, Álvaro Herrera)
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)
Fix inefficient code generation for CoerceToDomain expression nodes
(Ranier Vilela)
Avoid O(N^2) behavior in some list-manipulation operations
(Nathan Bossart, Tom Lane)
Add more defensive checks around B-tree posting list splits
(Peter Geoghegan)
Avoid assertion failure when inserting NaN into a BRIN
float8 or float4 minmax_multi_ops index (Tomas Vondra)
Allow the autovacuum launcher process to respond
to pg_log_backend_memory_contexts() requests
more quickly (Koyu Tanigawa)
-->
Fix memory leak in HMAC hash calculations (Sergey Shinderuk)
Disallow setting huge_pages
to on when shared_memory_type
is sysv (Thomas Munro)
Fix checking of query type in PL/pgSQL's RETURN
QUERY statement (Tom Lane)
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)
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)
Prevent
pg_amcheck from checking
temporary relations, as well as indexes that are invalid or not
ready (Mark Dilger)
Make contrib/amcheck skip unlogged tables
when running on a standby server (Mark Dilger)
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)
Ensure that GetSharedSecurityLabel() can be
used in a newly-started session that has not yet built its critical
relation cache entries (Jeff Davis)
When running a TAP test, include the module's own directory
in PATH (Andrew Dunstan)
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)
User-defined objects that reference certain built-in array functions
along with their argument types must be recreated (Tom Lane)
linkend="functions-geometry">geometric data types and
contrib modules , ,
, and (Justin Pryzby)
linkend="functions-textsearch">to_tsquery()
and websearch_to_tsquery() to properly parse
query text containing discarded tokens (Alexander Korotkov)
linkend="functions-textsearch">websearch_to_tsquery()
to properly parse multiple adjacent discarded tokens in quotes
(Alexander Korotkov)
linkend="functions-datetime">EXTRACT()
to return type numeric instead of float8
(Peter Eisentraut)
linkend="functions-aggregate">var_samp()
and stddev_samp() with numeric parameters to
return NULL when the input is a single NaN value (Tom Lane)
linkend="functions-info">has_column_privilege()
checks on non-existent or dropped columns when using attribute
numbers (Joe Conway)
Fix handling of infinite
linkend="syntax-window-functions">window function ranges
(Tom Lane)
Remove factorial operators ! and
!!, as well as function
numeric_fac() (Mark Dilger)
Disallow factorial() of negative numbers
(Peter Eisentraut)
Remove support for postfix
(right-unary) operators (Mark Dilger)
Allow \D and \W shorthands to
match newlines in regular
expression newline-sensitive mode (Tom Lane)
Disregard constraints when matching regular expression
linkend="posix-escape-sequences">back-references (Tom Lane)
Disallow \w as a range start or end in regular
expression character classes (Tom Lane)
Require custom server
parameter names to use only characters that are valid in
unquoted
SQL identifiers (Tom Lane)
Change the default of the
server parameter to scram-sha-256 (Peter
Eisentraut)
Remove server parameter
vacuum_cleanup_index_scale_factor (Peter Geoghegan)
Remove server parameter operator_precedence_warning
(Tom Lane)
Overhaul the specification of
clientcert in
linkend="auth-pg-hba-conf">pg_hba.conf
(Kyotaro Horiguchi)
Remove support for
linkend="runtime-config-connection-ssl">
SSL
compression (Daniel Gustafsson, Michael Paquier)
Remove server and libpq support
for the version 2 wire protocol
(Heikki Linnakangas)
Disallow single-quoting of the language name in the
CREATE/DROP
LANGUAGE command (Peter Eisentraut)
Remove the composite
types that were formerly created for sequences and toast
tables (Tom Lane)
Process doubled quote marks in ecpg
SQL command strings correctly (Tom Lane)
Prevent the containment operators (<@ and
@>) for from using
GiST indexes (Tom Lane)
Remove contrib program
pg_standby
(Justin Pryzby)
Prevent 's function
normal_rand() from accepting negative values
(Ashutosh Bapat)
Add predefined roles
linkend="predefined-roles">pg_read_all_data
and pg_write_all_data (Stephen Frost)
Add predefined role
linkend="predefined-roles">pg_database_owner
that contains only the current database's owner (Noah Misch)
Remove temporary files after backend crashes (Euler Taveira)
Allow long-running queries to be canceled if the client disconnects
(Sergey Cherkashin, Thomas Munro)
Add an optional timeout parameter to
linkend="functions-admin-signal">pg_terminate_backend()
(Magnus Hagander)
Allow wide tuples to be always added to almost-empty heap pages
(John Naylor, Floris van Nee)
Add Server Name Indication (
SNI) in
SSL connection packets (Peter Eisentraut)
Allow vacuum to skip index vacuuming when the number of removable
index entries is insignificant (Masahiko Sawada, Peter Geoghegan)
Allow vacuum to more eagerly add deleted btree pages to the free
space map (Peter Geoghegan)
Allow vacuum to reclaim space used by unused trailing heap
line pointers (Matthias van de Meent, Peter Geoghegan)
Allow vacuum to be more aggressive in removing dead rows during
minimal-locking index operations (Álvaro Herrera)
Speed up vacuuming of databases with many relations (Tatsuhito
Kasahara)
Reduce the default value of
linkend="guc-vacuum-cost-page-miss"/> to better reflect current
hardware capabilities (Peter Geoghegan)
Add ability to skip vacuuming of
TOAST tables
(Nathan Bossart)
Have COPY FREEZE
appropriately update page visibility bits (Anastasia Lubennikova,
Pavan Deolasee, Jeff Janes)
Cause vacuum operations to be more aggressive if the table is near
xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan)
Increase warning time and hard limit before transaction id and
multi-transaction wraparound (Noah Misch)
Add per-index information to
linkend="guc-log-autovacuum-min-duration">autovacuum logging
output (Masahiko Sawada)
Improve the performance of updates and deletes on partitioned tables
with many partitions (Amit Langote, Tom Lane)
Allow partitions to be
linkend="sql-altertable">detached in a non-blocking manner
(Álvaro Herrera)
Ignore COLLATE clauses in partition boundary
values (Tom Lane)
Allow btree index additions to
linkend="btree-deletion">remove expired index entries
to prevent page splits (Peter Geoghegan)
to record multiple min/max values per range (Tomas Vondra)
Allow
BRIN indexes to use bloom filters
(Tomas Vondra)
Allow some GiST indexes to be built
by presorting the data (Andrey Borodin)
Allow SP-GiST indexes to contain
INCLUDE'd columns (Pavel Borisov)
Allow hash lookup for IN clauses with many
constants (James Coleman, David Rowley)
linkend="planner-stats-extended">extended statistics can
be used for OR clause estimation (Tomas Vondra,
Dean Rasheed)
Allow extended statistics on expressions (Tomas Vondra)
Allow efficient heap scanning of a range of
linkend="datatype-oid-table">TIDs (Edmund
Horner, David Rowley)
AS and EXPLAIN CREATE MATERIALIZED
VIEW to honor IF NOT EXISTS
(Bharath Rupireddy)
Improve the speed of computing
MVCC
linkend="mvcc">visibility snapshots on systems with many
CPUs and high session counts (Andres Freund)
Add executor method to memoize results from the inner side of a
nested-loop join (David Rowley)
Allow window functions
to perform incremental sorts (David Rowley)
Improve the I/O performance of parallel sequential scans (Thomas
Munro, David Rowley)
linkend="sql-createforeigntable">foreign tables to perform
foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi,
Thomas Munro, Etsuro Fujita)
Allow analyze to do
page prefetching (Stephen Frost)
Improve performance of
linkend="functions-posix-regexp">regular expression
searches (Tom Lane)
Dramatically improve Unicode normalization performance (John Naylor)
Add ability to use LZ4
compression on
TOAST data (Dilip Kumar)
VERBOSE,
linkend="runtime-config-logging">csvlog, and optionally in
(Julien Rouhaud)
Improve logging of auto-vacuum
and auto-analyze (Stephen Frost, Jakub Wartak)
Add information about the original user name supplied by the
client to the output of
(Jacob Champion)
linkend="copy-progress-reporting">pg_stat_progress_copy
to report COPY progress (Josef Šimánek,
Matthias van de Meent)
Add system view
linkend="monitoring-pg-stat-wal-view">pg_stat_wal
to report
WAL activity (Masahiro Ikeda)
linkend="monitoring-pg-stat-replication-slots-view">pg_stat_replication_slots
to report replication slot activity (Masahiko Sawada, Amit Kapila,
Vignesh C)
Add system view
linkend="view-pg-backend-memory-contexts">pg_backend_memory_contexts
to report session memory usage (Atsushi Torikoshi, Fujii Masao)
linkend="functions-admin-signal">pg_log_backend_memory_contexts()
to output the memory contexts of arbitrary backends (Atsushi
Torikoshi)
Add session statistics to the
linkend="monitoring-pg-stat-database-view">pg_stat_database
system view (Laurenz Albe)
linkend="view-pg-prepared-statements">pg_prepared_statements
to report generic and custom plan counts (Atsushi Torikoshi,
Kyotaro Horiguchi)
Add lock wait start time to
linkend="view-pg-locks">pg_locks
(Atsushi Torikoshi)
Make the archiver process visible in
pg_stat_activity (Kyotaro Horiguchi)
linkend="monitoring-pg-stat-activity-view">WalReceiverExit
to report
WAL receiver exit wait time (Fujii
Masao)
linkend="infoschema-routine-column-usage">routine_column_usage
to track columns referenced by function and procedure default
expressions (Peter Eisentraut)
Allow an SSL certificate's distinguished name (
DN)
to be matched for client certificate authentication (Andrew
Dunstan)
Allow
pg_hba.conf and
linkend="auth-username-maps">pg_ident.conf
records to span multiple lines (Fabien Coelho)
Allow the specification of a certificate revocation list
(
CRL) directory (Kyotaro Horiguchi)
Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart)
Add server parameter
to close idle sessions (Li Japin)
Change default
to 0.9 (Stephen Frost)
Allow %P
in to report the
parallel group leader's PID for a parallel worker (Justin Pryzby)
Allow to specify
paths as individual, comma-separated quoted strings (Ian Lawrence
Barwick)
Allow startup allocation of dynamic shared memory (Thomas Munro)
Add server parameter to
control the size of huge pages used on Linux (Odin Ugedal)
Allow standby servers to be rewound via
linkend="app-pgrewind">
pg_rewind
(Heikki Linnakangas)
Allow the setting to be changed
during a server reload (Sergei Kornilov)
Add server parameter
linkend="guc-log-recovery-conflict-waits"/> to report long recovery
conflict wait times (Bertrand Drouvot, Masahiko Sawada)
Pause recovery on a hot standby server if the primary changes its
parameters in a way that prevents replay on the standby (Peter
Eisentraut)
Add function
linkend="functions-recovery-control">pg_get_wal_replay_pause_state()
to report the recovery state (Dilip Kumar)
Add new read-only server parameter
(Haribabu Kommi, Greg Nancarrow, Tom Lane)
Speed truncation of small tables during recovery on clusters with
a large number of shared buffers (Kirk Jamison)
Allow file system sync at the start of crash recovery on Linux
(Thomas Munro)
linkend="functions-info">pg_xact_commit_timestamp_origin()
to return the commit timestamp and replication origin of the
specified transaction (Movead Li)
Add the replication origin to the record returned by
linkend="functions-info">pg_last_committed_xact()
(Movead Li)
Allow replication origin
functions to be controlled using standard function permission
controls (Martín Marqués)
Allow logical replication to stream long in-progress transactions
to subscribers (Dilip Kumar, Amit Kapila, Ajin
Cherian, Tomas Vondra, Nikhil Sontakke, Stas Kelvich)
Enhance the logical replication
API to allow
streaming large in-progress transactions (Tomas Vondra, Dilip
Kumar, Amit Kapila)
Allow multiple transactions during table sync in logical
replication (Peter Smith, Amit Kapila, Takamichi Osumi)
Immediately
WAL-log subtransaction and top-level
XID association (Tomas Vondra, Dilip Kumar, Amit
Kapila)
Enhance logical decoding APIs to handle two-phase commits (Ajin
Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich)
Add cache invalidation messages to the
WAL
during command completion when using logical replication (Dilip
Kumar, Tomas Vondra, Amit Kapila)
Allow logical decoding to more efficiently process cache
invalidation messages (Dilip Kumar)
Allow control over whether logical decoding messages are sent to
the replication stream (David Pirotte, Euler Taveira)
Allow logical replication subscriptions to use binary transfer mode
(Dave Cramer)
Allow logical decoding to be filtered by xid (Markus Wanner)
Reduce the number of keywords that can't be used as column labels
without AS (Mark Dilger)
Allow an alias to be specified for JOIN's
USING clause (Peter Eisentraut)
Allow DISTINCT to be added to GROUP
BY to remove duplicate GROUPING SET
combinations (Vik Fearing)
Properly handle DEFAULT entries in multi-row
VALUES lists in INSERT
(Dean Rasheed)
and
CYCLE clauses for
linkend="queries-with">common table expressions (Peter
Eisentraut)
Allow column names in the WHERE clause
of ON CONFLICT to be table-qualified (Tom Lane)
Allow REFRESH
MATERIALIZED VIEW to use parallelism (Bharath
Rupireddy)
Allow REINDEX
to change the tablespace of the new index (Alexey Kondratov,
Michael Paquier, Justin Pryzby)
Allow REINDEX to process all child tables or
indexes of a partitioned relation (Justin Pryzby, Michael Paquier)
Allow index commands using CONCURRENTLY to
avoid waiting for the completion of other operations using
CONCURRENTLY (Álvaro Herrera)
Improve the performance of COPY
FROM in binary mode (Bharath Rupireddy, Amit
Langote)
Preserve
SQL standard syntax for SQL-defined
functions in view definitions
(Tom Lane)
linkend="sql-grant">
GRANT and
linkend="sql-revoke">REVOKE (Peter
Eisentraut)
Add
OR REPLACE option for
linkend="sql-createtrigger">CREATE TRIGGER
(Takamichi Osumi)
Allow
linkend="sql-truncate">TRUNCATE to
operate on foreign tables (Kazutaka Onishi, Kohei KaiGai)
Allow publications to be more easily added to and removed from a
subscription (Japin Li)
Add primary keys, unique constraints, and foreign keys to
linkend="catalogs">system catalogs (Peter Eisentraut)
linkend="functions-info">CURRENT_ROLE
every place CURRENT_USER is accepted (Peter
Eisentraut)
Allow extensions and built-in data types to implement
linkend="sql-altertype">subscripting (Dmitry Dolgov)
Allow subscripting of
linkend="datatype-json">JSONB (Dmitry Dolgov)
Add support for multirange data
types (Paul Jungwirth, Alexander Korotkov)
linkend="textsearch-snowball-dictionary">stemming of
languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish
(Peter Eisentraut)
Allow tsearch data
files to have unlimited line lengths (Tom Lane)
Add support for Infinity and
-Infinity values in the
linkend="datatype-numeric">numeric data type (Tom Lane)
Add point operators
<<| and |>>
representing strictly above/below tests (Emre Hasegeli)
Add operators to add and subtract
linkend="datatype-pg-lsn">LSN and numeric
(byte) values (Fujii Masao)
Allow binary data
transfer to be more forgiving of array and record
OID mismatches (Tom Lane)
Create composite array types for system catalogs (Wenjing Zeng)
linkend="sql-createfunction">functions and
linkend="sql-createprocedure">procedures to use
SQL-standard function bodies (Peter Eisentraut)
Allow procedures to have
OUT parameters (Peter Eisentraut)
Allow some array functions to operate on a mix of compatible data
types (Tom Lane)
Add
SQL-standard
linkend="functions-array">trim_array()
function (Vik Fearing)
Add
bytea equivalents of
linkend="functions-binarystring">ltrim()
and rtrim() (Joel Jacobson)
Support negative indexes in
linkend="functions-string">split_part()
(Nikhil Benesch)
Add
linkend="functions-string">string_to_table()
function to split a string on delimiters (Pavel Stehule)
linkend="functions-string">unistr()
function to allow Unicode characters to be specified as
backslash-hex escapes in strings (Pavel Stehule)
Add
linkend="functions-aggregate">bit_xor()
XOR aggregate function (Alexey Bashtanov)
linkend="functions-binarystring">bit_count()
to return the number of bits set in a bit or byte string (David
Fetter)
Add
linkend="functions-datetime-bin">date_bin()
function (John Naylor)
Allow
linkend="functions-datetime">make_timestamp()/make_timestamptz()
to accept negative years (Peter Eisentraut)
Add newer regular expression
linkend="functions-string">substring()
syntax (Peter Eisentraut)
Allow complemented character class escapes
linkend="posix-escape-sequences">\D, \S,
and \W within regular expression brackets (Tom Lane)
linkend="posix-bracket-expressions">[[:word:]]
as a regular expression character class, equivalent
to \w (Tom Lane)
Allow more flexible data types for default values of
linkend="functions-window">lead()
and lag() window functions (Vik Fearing)
Make non-zero floating-point values
divided by infinity return zero (Kyotaro Horiguchi)
Make floating-point division of NaN by zero return NaN
(Tom Lane)
linkend="functions-math">exp() and
power() for negative-infinity exponents to
return zero (Tom Lane)
Improve the accuracy of geometric computations involving
infinity (Tom Lane)
Mark built-in type coercion functions as leakproof where possible
(Tom Lane)
pg_identify_object(), and
pg_identify_object_as_address() to always report
helpful error messages for non-existent objects (Michael Paquier)
linkend="plpgsql-expressions">expression and
linkend="plpgsql-statements-assignment">assignment parsing
(Tom Lane)
linkend="plpgsql-control-structures">RETURN
QUERY to execute its query using parallelism
(Tom Lane)
Improve performance of repeated
linkend="plpgsql-transactions">CALLs within plpgsql
procedures (Pavel Stehule, Tom Lane)
Add pipeline mode
to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera)
linkend="libpq-paramkeywords">
parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C,
Tom Lane)
Improve the output format of libpq's
linkend="libpq-control">PQtrace()
(Aya Iwata, Álvaro Herrera)
Allow an ECPG SQL identifier to be linked to
a specific connection (Hayato Kuroda)
Allow
linkend="app-vacuumdb">
vacuumdb
to skip index cleanup and truncation (Nathan Bossart)
Allow
linkend="app-pgdump">
pg_dump
to dump only certain extensions (Guillaume Lelarge)
linkend="pgbench">
pgbench
permute() function to randomly shuffle values
(Fabien Coelho, Hironobu Suzuki, Dean Rasheed)
Include disconnection times in the reconnection overhead measured
(Yugo Nagata)
Allow multiple verbose option specifications ()
to increase the logging verbosity (Tom Lane)
and \do commands to specify function and
operator argument types (Greg Sabino Mullane, Tom Lane)
Add an access method column to
psql's
\d[i|m|t]+ output (Georgios Kokolatos)
tables and their indexes (Justin Pryzby)
to list extended statistics objects (Tatsuro Yamada)
understand array syntax and backend grammar aliases,
like int for integer
(Greg Sabino Mullane, Tom Lane)
\ef and \ev, ignore the
results if the editor exits without saving (Laurenz Albe)
Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby,
Georgios Kokolatos, Julien Rouhaud)
to simplify running contrib/amcheck
tests on many relations
(Mark Dilger)
Add
option to
linkend="app-initdb">
initdb
(Magnus Hagander)
linkend="pgupgrade">
pg_upgrade
from creating analyze_new_cluster script
(Magnus Hagander)
Remove support for the
linkend="app-postgres">
postmaster
option (Magnus Hagander)
Rename "Default Roles" to
linkend="predefined-roles">"Predefined Roles" (Bruce Momjian,
Stephen Frost)
Add documentation for the
linkend="function-factorial">factorial()
function (Peter Eisentraut)
linkend="configure-options-features">--with-ssl={openssl}
to allow future choice of the SSL library to use (Daniel Gustafsson,
Michael Paquier)
Add support for abstract
Unix-domain sockets (Peter Eisentraut)
Allow Windows to properly handle files larger than four gigabytes
(Juan José Santamaría Flecha)
Add server parameter
to control cache flushing for test purposes (Craig Ringer)
Various improvements in
valgrind
error detection ability (Álvaro Herrera, Peter Geoghegan)
Add a test module for the regular expression package (Tom Lane)
Add support for
LLVM version 12
(Andres Freund)
Change SHA1, SHA2, and MD5 hash computations to use the
(Michael Paquier)
Remove separate build-time control over the choice of random number
generator (Daniel Gustafsson)
Add direct conversion routines between EUC_TW and Big5 encodings
(Heikki Linnakangas)
Add collation version support for
FreeBSD
(Thomas Munro)
Add
linkend="index-api">amadjustmembers
to the index access method
API (Tom Lane)
Provide feature-test macros in libpq-fe.h
for recently-added
libpq features
(Tom Lane, Álvaro Herrera)
Allow subscripting of
linkend="hstore">
hstore values
(Tom Lane, Dmitry Dolgov)
Allow GiST/GIN
linkend="pgtrgm">
pg_trgm indexes
to do equality lookups (Julien Rouhaud)
Allow the
linkend="cube">
cube data type
to be transferred in binary mode (KaiGai Kohei)
Allow
linkend="pgstattuple">pgstattuple_approx()
to report on
TOAST tables (Peter Eisentraut)
Add contrib module
linkend="pgsurgery">
pg_surgery
which allows changes to row visibility (Ashutosh Sharma)
linkend="oldsnapshot">
old_snapshot
to report the XID/time mapping used by an active
(Robert Haas)
Allow
linkend="amcheck">
amcheck to
also check heap pages (Mark Dilger)
Allow
linkend="pageinspect">
pageinspect
to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas)
Change
pageinspect block numbers
to be bigints
(Peter Eisentraut)
Mark
linkend="btree-gist">
btree_gist
functions as parallel safe (Steven Winfield)
Move query hash computation from
pg_stat_statements to the core server
(Julien Rouhaud)
Cause
pg_stat_statements to track top
and nested statements separately (Julien Rohaud)
Add row counts for utility commands to
pg_stat_statements (Fujii Masao, Katsuragi
Yuta, Seino Yuki)
Add pg_stat_statements_info system view
to show
pg_stat_statements activity
(Katsuragi Yuta, Yuki Seino, Naoki Nakamichi)
INSERT rows in bulk (Takayuki Tsunakawa, Tomas
Vondra, Amit Langote)
to import table partitions if specified by
linkend="sql-importforeignschema">IMPORT FOREIGN SCHEMA
... LIMIT TO (Matthias van de Meent)
Add
postgres_fdw function
postgres_fdw_get_connections() to report open
foreign server connections (Bharath Rupireddy)
Allow control over whether foreign servers keep connections open
after transaction completion (Bharath Rupireddy)
Allow
postgres_fdw to reestablish
foreign server connections if necessary (Bharath Rupireddy)
Add
postgres_fdw functions to discard
cached connections (Bharath Rupireddy)