-
Author: Nathan Bossart <nathan@postgresql.org>
Branch: master [5e4fcbe53] 2025-11-10 09:00:00 -0600
Branch: REL_18_STABLE [00eb646ea] 2025-11-10 09:00:00 -0600
Branch: REL_17_STABLE [e2fb3dfa8] 2025-11-10 09:00:00 -0600
Branch: REL_16_STABLE [d20abb587] 2025-11-10 09:00:00 -0600
Branch: REL_15_STABLE [2393d374a] 2025-11-10 09:00:00 -0600
Branch: REL_14_STABLE [95cce5669] 2025-11-10 09:00:00 -0600
Branch: REL_13_STABLE [8a2530ebc] 2025-11-10 09:00:00 -0600
Check for CREATE privileges on the schema
in CREATE STATISTICS (Jelte Fennema-Nio)
§
This omission allowed table owners to create statistics in any
schema, potentially leading to unexpected naming conflicts.
The PostgreSQL Project thanks
Jelte Fennema-Nio for reporting this problem.
(CVE-2025-12817)
-
Author: Jacob Champion <jchampion@postgresql.org>
Branch: master [600086f47] 2025-11-10 06:20:33 -0800
Branch: REL_18_STABLE [7eb8fcad8] 2025-11-10 06:03:01 -0800
Branch: REL_17_STABLE [f5999f018] 2025-11-10 06:03:03 -0800
Branch: REL_16_STABLE [585fd9b3c] 2025-11-10 06:03:04 -0800
Branch: REL_15_STABLE [91421565f] 2025-11-10 06:03:05 -0800
Branch: REL_14_STABLE [96d2c7e96] 2025-11-10 06:03:05 -0800
Branch: REL_13_STABLE [d6f0c0d6d] 2025-11-10 06:03:06 -0800
Avoid integer overflow in allocation-size calculations
within libpq (Jacob Champion)
§
Several places in libpq were not
sufficiently careful about computing the required size of a memory
allocation. Sufficiently large inputs could cause integer overflow,
resulting in an undersized buffer, which would then lead to writing
past the end of the buffer.
The PostgreSQL Project thanks Aleksey
Solovev of Positive Technologies for reporting this problem.
(CVE-2025-12818)
-
Author: Amit Langote <amitlan@postgresql.org>
Branch: master [ef5e60a9d] 2025-10-09 01:07:59 -0400
Branch: REL_18_STABLE [dc9125111] 2025-10-09 01:07:52 -0400
Branch: REL_17_STABLE [09f86a42f] 2025-10-09 01:07:36 -0400
Author: Peter Eisentraut <peter@eisentraut.org>
Branch: master [c09a06918] 2025-11-04 12:25:04 +0100
Branch: REL_18_STABLE [1baae827e] 2025-11-04 12:25:14 +0100
Branch: REL_17_STABLE [1e6dfdaa0] 2025-11-04 12:25:20 +0100
Prevent 「unrecognized node type」 errors when a SQL/JSON
function such as JSON_VALUE has
a DEFAULT clause containing
a COLLATE expression (Jian He)
§
§
-
Author: Richard Guo <rguo@postgresql.org>
Branch: master [18d261409] 2025-10-21 12:35:36 +0900
Branch: REL_18_STABLE [40c242830] 2025-10-21 12:38:16 +0900
Branch: REL_18_STABLE [ee49f2cf4] 2025-10-21 14:12:13 +0900
Avoid incorrect optimization of
variable-free HAVING clauses with grouping sets
(Richard Guo)
§
§
-
Author: Richard Guo <rguo@postgresql.org>
Branch: master [257ee7834] 2025-10-30 11:58:45 +0900
Branch: REL_18_STABLE [ef6168baf] 2025-10-30 12:03:15 +0900
Do not use parallelism in hash right semi joins (Richard Guo)
§
The case does not work reliably due to a race condition in updating
the join's shared hash table.
-
Author: Richard Guo <rguo@postgresql.org>
Branch: master [c1777f2d6] 2025-11-05 18:09:21 +0900
Branch: REL_18_STABLE [500f64636] 2025-11-05 18:15:02 +0900
Avoid possible division-by-zero when creating ordered-append plans
(Richard Guo)
§
This mistake could result in incorrect selection of the cheapest
path, or in an assertion failure in debug builds.
-
Author: Peter Eisentraut <peter@eisentraut.org>
Branch: master [35e53b684] 2025-10-28 10:07:29 +0100
Branch: REL_18_STABLE [74197bdc8] 2025-10-28 10:11:35 +0100
Fix planner failure with index types that can do ordered access but
not index-only scans (Maxime Schoemans)
§
This oversight resulted in errors like 「no data returned for
index-only scan」. The case does not arise with any in-core
index type, but some extensions encountered the problem.
-
Author: Peter Geoghegan <pg@bowt.ie>
Branch: master [843e50208] 2025-10-10 14:52:25 -0400
Branch: REL_18_STABLE [61de81a49] 2025-10-10 14:52:23 -0400
Branch: REL_17_STABLE [ae15cebc2] 2025-10-10 14:52:21 -0400
Branch: REL_16_STABLE [c160fd469] 2025-10-10 14:52:19 -0400
Branch: REL_15_STABLE [ca0c93908] 2025-10-10 14:52:17 -0400
Branch: REL_14_STABLE [314004021] 2025-10-10 14:52:14 -0400
Branch: REL_13_STABLE [af302ff6b] 2025-10-10 14:52:12 -0400
Remove faulty assertion in btree index cleanup (Peter Geoghegan)
§
-
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Branch: master [c98dffcb7] 2025-11-04 18:51:17 +0100
Branch: REL_18_STABLE [a26b753a0] 2025-11-04 18:47:14 +0100
Avoid possible out-of-memory or 「invalid memory alloc request
size」 failures during parallel GIN index build (Tomas Vondra)
§
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [a95e3d84c] 2025-11-04 13:23:26 +0100
Branch: REL_18_STABLE [419ffde23] 2025-11-04 13:23:26 +0100
Branch: REL_17_STABLE [f4b68b033] 2025-11-04 13:23:26 +0100
Branch: REL_16_STABLE [6ef33c805] 2025-11-04 13:23:26 +0100
Branch: REL_15_STABLE [23ddadf68] 2025-11-04 13:23:26 +0100
Branch: REL_14_STABLE [f0ad41716] 2025-11-04 13:23:26 +0100
Branch: REL_13_STABLE [3c7b47974] 2025-11-04 13:23:26 +0100
Branch: master [0a3d27bfe] 2025-11-04 20:31:43 +0100
Branch: REL_18_STABLE [8733f0b54] 2025-11-04 20:31:43 +0100
Branch: REL_17_STABLE [3b5007347] 2025-11-04 20:31:43 +0100
Branch: REL_16_STABLE [20442cf50] 2025-11-04 20:31:43 +0100
Branch: REL_15_STABLE [bcfbd3f74] 2025-11-04 20:31:43 +0100
Branch: REL_14_STABLE [65b0d1f74] 2025-11-04 20:31:43 +0100
Branch: REL_13_STABLE [ef81697fe] 2025-11-04 20:31:43 +0100
Ensure that BRIN autosummarization provides a snapshot for index
expressions that need one (Álvaro Herrera)
§
§
Previously, autosummarization would fail for such indexes, and then
leave placeholder index tuples behind, causing the index to bloat
over time.
-
Author: David Rowley <drowley@postgresql.org>
Branch: master [9fd29d7ff] 2025-10-21 20:46:14 +1300
Branch: REL_18_STABLE [715983a81] 2025-10-21 20:46:49 +1300
Branch: REL_17_STABLE [c4f5a59ab] 2025-10-21 20:47:10 +1300
Branch: REL_16_STABLE [ef915bf93] 2025-10-21 20:47:35 +1300
Branch: REL_15_STABLE [810aaf7f2] 2025-10-21 20:48:06 +1300
Branch: REL_14_STABLE [eea24eb0a] 2025-10-21 20:48:34 +1300
Branch: REL_13_STABLE [c28f8ca29] 2025-10-21 20:49:00 +1300
Fix integer-overflow hazard in BRIN index scans when the table
contains close to 232 pages (Sunil S)
§
This oversight could result in an infinite loop or scanning of
unneeded table pages.
-
Author: David Rowley <drowley@postgresql.org>
Branch: master [6911f8037] 2025-10-23 13:11:02 +1300
Branch: REL_18_STABLE [ceb51d09b] 2025-10-23 13:12:03 +1300
Branch: REL_17_STABLE [10945148e] 2025-10-23 13:12:49 +1300
Branch: REL_16_STABLE [3398b0d02] 2025-10-23 13:13:19 +1300
Branch: REL_15_STABLE [b8ecfbe5a] 2025-10-23 13:13:44 +1300
Branch: REL_14_STABLE [e4316ec4d] 2025-10-23 13:14:08 +1300
Branch: REL_13_STABLE [4afab175b] 2025-10-23 13:14:33 +1300
Fix incorrect zero-extension of stored values in JIT-generated tuple
deforming code (David Rowley)
§
When not using JIT, the equivalent code does sign-extension not
zero-extension, leading to a different Datum representation of small
integer data types. This inconsistency was masked in most cases,
but it is known to lead to 「could not find memoization table
entry」 errors when using Memoize plan nodes, and there might
be other symptoms.
-
Author: David Rowley <drowley@postgresql.org>
Branch: master [5c0a20003] 2025-10-18 16:07:04 +1300
Branch: REL_18_STABLE [0b6a02f03] 2025-10-18 16:07:41 +1300
Fix rare crash when processing hashed GROUPING
SETS queries (David Rowley)
§
-
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Branch: master [b85c4700f] 2025-10-17 22:21:50 +0200
Branch: REL_18_STABLE [aa151022e] 2025-10-17 22:27:49 +0200
Repair faulty hash-table-size-choosing logic in hash joins
(Tomas Vondra)
§
Hash joins sometimes used more memory than intended, or failed to
divide it in an efficient way.
-
Author: Nathan Bossart <nathan@postgresql.org>
Branch: master [688dc6299] 2025-10-15 12:47:33 -0500
Branch: REL_18_STABLE [c8af5019b] 2025-10-15 12:47:33 -0500
Branch: REL_18_STABLE [15d7dded0] 2025-10-15 13:14:00 -0500
Improve relation lookup logic in statistics manipulation functions
(Nathan Bossart)
§
§
Fix pg_restore_relation_stats(),
pg_clear_relation_stats(),
pg_restore_attribute_stats(), and
pg_clear_attribute_stats() to check
privileges before acquiring lock on the target relation
rather than after.
-
Author: David Rowley <drowley@postgresql.org>
Branch: master [39dcfda2d] 2025-10-26 10:59:50 +1300
Branch: REL_18_STABLE [a2387c32f] 2025-10-26 11:01:32 +1300
Branch: REL_17_STABLE [0d3074615] 2025-10-26 11:01:53 +1300
Branch: REL_16_STABLE [a546964db] 2025-10-26 11:02:15 +1300
Branch: REL_15_STABLE [2992b9a07] 2025-10-26 11:02:36 +1300
Fix incorrect logic for caching result-relation information for
triggers (David Rowley, Amit Langote)
§
In cases where partitions' column sets aren't physically identical
to their parent partitioned tables' column sets, this oversight
could lead to crashes.
-
Author: Amit Langote <amitlan@postgresql.org>
Branch: master [905e932f0] 2025-10-16 14:01:44 +0900
Branch: REL_18_STABLE [1296dcf18] 2025-10-16 14:01:50 +0900
Fix crash during EvalPlanQual rechecks on partitioned tables (David
Rowley, Amit Langote)
§
-
Author: Etsuro Fujita <efujita@postgresql.org>
Branch: master [12609fbac] 2025-10-15 17:15:00 +0900
Branch: REL_18_STABLE [b14144325] 2025-10-15 17:15:01 +0900
Branch: REL_17_STABLE [2bb84ea7e] 2025-10-15 17:15:02 +0900
Branch: REL_16_STABLE [5a9af4868] 2025-10-15 17:15:03 +0900
Branch: REL_15_STABLE [4a08603a2] 2025-10-15 17:15:04 +0900
Branch: REL_14_STABLE [24e74b962] 2025-10-15 17:15:05 +0900
Branch: REL_13_STABLE [12b0c0e51] 2025-10-15 17:15:05 +0900
Fix EvalPlanQual handling of foreign or custom joins that do not
have an alternative local-join plan prepared for EPQ (Masahiko
Sawada, Etsuro Fujita)
§
In such cases the foreign or custom access method should be invoked
normally, but that did not happen, typically leading to a crash.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [3231fd045] 2025-10-11 20:30:12 +0200
Branch: REL_18_STABLE [08c037dff] 2025-10-11 20:30:12 +0200
Branch: REL_17_STABLE [ea06f97ee] 2025-10-11 20:30:12 +0200
Branch: REL_16_STABLE [b835759ec] 2025-10-11 20:30:12 +0200
Branch: REL_15_STABLE [bdae98495] 2025-10-11 20:30:12 +0200
Branch: REL_14_STABLE [b753be38a] 2025-10-11 20:30:12 +0200
Avoid duplicating hash partition constraints during DETACH
CONCURRENTLY (Haiyang Li)
§
ALTER TABLE DETACH PARTITION CONCURRENTLY was
written to add a copy of the partitioning constraint to the
now-detached partition. This was misguided, partially because
non-concurrent DETACH doesn't do that, but mostly
because in the case of hash partitioning the constraint expression
contains references to the parent table's OID. That causes problems
during dump/restore, or if the parent table is dropped
after DETACH. In v19 and later, we'll no longer
create any such copied constraints at all. In released branches, to
minimize the risk of unforeseen consequences, only skip adding a
copied constraint if it is for hash partitioning.
-
Author: Peter Eisentraut <peter@eisentraut.org>
Branch: master [040cc5f3c] 2025-11-04 14:46:58 +0100
Branch: REL_18_STABLE [ba99c9491] 2025-11-04 14:47:15 +0100
Branch: REL_17_STABLE [0b44f2443] 2025-11-04 15:18:09 +0100
Branch: REL_16_STABLE [7180d56c5] 2025-11-04 15:22:17 +0100
Branch: REL_15_STABLE [643a5e96c] 2025-11-04 15:28:46 +0100
Branch: REL_14_STABLE [04345d7a4] 2025-11-04 15:37:08 +0100
Branch: REL_13_STABLE [7f239c72a] 2025-11-04 15:37:19 +0100
Disallow generated columns in partition keys
(Jian He, Ashutosh Bapat)
§
This was already not allowed, but the check missed some cases, such
as where the column reference is implicit in a whole-row reference.
-
Author: Peter Eisentraut <peter@eisentraut.org>
Branch: master [aa606b931] 2025-11-06 13:54:42 +0100
Branch: REL_18_STABLE [0f9e0068b] 2025-11-06 13:55:08 +0100
Branch: REL_17_STABLE [07f787e57] 2025-11-06 14:01:42 +0100
Branch: REL_16_STABLE [26958f4d9] 2025-11-06 14:01:57 +0100
Branch: REL_15_STABLE [8278737bf] 2025-11-06 14:02:03 +0100
Branch: REL_14_STABLE [ccfe28eb4] 2025-11-06 14:02:09 +0100
Branch: REL_13_STABLE [3717849e6] 2025-11-06 14:02:13 +0100
Disallow generated columns in COPY ... FROM
... WHERE clauses (Peter Eisentraut, Jian He)
§
Previously, incorrect behavior or an obscure error message resulted
from attempting to reference such a column, since generated columns
have not yet been computed at the point
where WHERE filtering is done.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [cf8be0225] 2025-11-03 15:58:19 +0100
Branch: REL_18_STABLE [d9ffc2729] 2025-11-03 15:58:19 +0100
Prevent setting a column as identity if it has a not-null constraint
but the constraint is marked as invalid (Jian He)
§
Identity columns must be not-null, but the check for that missed
this edge case.
-
Author: John Naylor <john.naylor@postgresql.org>
Branch: master [54ab74865] 2025-10-03 16:05:02 +0700
Branch: REL_18_STABLE [76613b539] 2025-10-03 16:07:42 +0700
Branch: REL_17_STABLE [3549ffb6a] 2025-10-03 16:07:34 +0700
Avoid potential use-after-free in parallel vacuum (Kevin Oommen
Anish)
§
This bug seems to have no consequences in standard builds, but it's
theoretically a hazard.
-
Author: Noah Misch <noah@leadboat.com>
Branch: master [a95393ecd] 2025-09-29 11:15:44 -0700
Branch: REL_18_STABLE [d024160ff] 2025-09-29 11:15:47 -0700
Branch: REL_17_STABLE [6778fbca6] 2025-09-29 11:15:48 -0700
Branch: REL_16_STABLE [ab16418ee] 2025-09-29 11:15:48 -0700
Branch: REL_15_STABLE [d202ec1fb] 2025-09-29 11:15:48 -0700
Branch: REL_14_STABLE [5816baa9b] 2025-09-29 11:15:49 -0700
Branch: REL_13_STABLE [afb2cce74] 2025-09-29 11:15:49 -0700
Fix visibility checking for statistics objects
in pg_temp (Noah Misch)
§
A statistics object located in a temporary schema cannot be named
without schema qualification,
but pg_statistics_obj_is_visible() missed that
memo and could return 「true」 regardless. In turn,
functions such as pg_describe_object() could
fail to schema-qualify the object's name as expected.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [ff47f9c16] 2025-10-11 16:39:22 +0200
Branch: REL_18_STABLE [33e7b4a7c] 2025-10-11 16:39:22 +0200
Branch: REL_17_STABLE [f9993ac64] 2025-10-11 16:39:22 +0200
Branch: REL_16_STABLE [c72b5c536] 2025-10-11 16:39:22 +0200
Branch: REL_15_STABLE [23b316c36] 2025-10-11 16:39:22 +0200
Fix minor memory leak during WAL replay of database creation
(Nathan Bossart)
§
-
Author: Fujii Masao <fujii@postgresql.org>
Branch: master [883a95646] 2025-10-22 11:27:15 +0900
Branch: REL_18_STABLE [9670032cc] 2025-10-22 11:28:48 +0900
Branch: REL_17_STABLE [62d5ee75b] 2025-10-22 11:28:57 +0900
Branch: REL_16_STABLE [2e55cf4ef] 2025-10-22 11:29:02 +0900
Branch: REL_15_STABLE [59b215f72] 2025-10-22 11:29:07 +0900
Branch: REL_14_STABLE [a7ab6ce6a] 2025-10-22 11:29:13 +0900
Branch: REL_13_STABLE [7d7ebdb80] 2025-10-22 11:29:18 +0900
Fix incorrect reporting of replication lag
in pg_stat_replication view (Fujii Masao)
§
If any standby server's replay LSN stopped advancing,
the write_lag
and flush_lag columns would eventually
stop updating.
-
Author: Fujii Masao <fujii@postgresql.org>
Branch: master [f33e60a53] 2025-10-22 20:09:43 +0900
Branch: REL_18_STABLE [6ff7ba9fe] 2025-10-22 20:10:58 +0900
Branch: REL_17_STABLE [1db2870bb] 2025-10-22 20:11:47 +0900
Branch: REL_16_STABLE [4fd916eab] 2025-10-22 20:12:36 +0900
Branch: REL_15_STABLE [caf529aba] 2025-10-22 20:13:15 +0900
Branch: REL_14_STABLE [f106f53df] 2025-10-22 20:14:02 +0900
Branch: REL_13_STABLE [b00a16bae] 2025-10-22 20:14:07 +0900
Avoid duplicative log messages about
invalid primary_slot_name settings (Fujii Masao)
§
-
Author: Amit Kapila <akapila@postgresql.org>
Branch: master [e0dc4bbfb] 2025-10-27 06:48:32 +0000
Branch: REL_18_STABLE [b45a8d7d8] 2025-10-27 06:37:35 +0000
Branch: REL_17_STABLE [0024f5a10] 2025-10-27 06:34:29 +0000
Avoid failures when synchronized_standby_slots
references nonexistent replication slots (Shlok Kyal)
§
-
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [912af1c7e] 2025-10-10 09:23:59 +0900
Branch: REL_18_STABLE [9a6ea00ac] 2025-10-10 09:24:48 +0900
Branch: REL_17_STABLE [42348839d] 2025-10-10 09:24:50 +0900
Branch: REL_16_STABLE [bfdd1a12d] 2025-10-10 09:24:53 +0900
Branch: REL_15_STABLE [0adf424b4] 2025-10-10 09:24:54 +0900
Branch: REL_14_STABLE [f57f2760e] 2025-10-10 09:24:57 +0900
Branch: REL_13_STABLE [c878d9808] 2025-10-10 09:24:59 +0900
Remove the unfinished slot state file after failing to write a
replication slot's state to disk (Michael Paquier)
§
Previously, a failure such as out-of-disk-space resulted in leaving
a temporary state.tmp file behind. That's
problematic because it would block all subsequent attempts to
write the state, requiring manual intervention to clean up.
-
Author: Amit Kapila <akapila@postgresql.org>
Branch: master [e41d954da] 2025-09-24 04:11:53 +0000
Branch: REL_18_STABLE [37fc5de43] 2025-09-24 04:00:15 +0000
Branch: REL_17_STABLE [2f6e1a490] 2025-09-24 03:49:02 +0000
Branch: REL_16_STABLE [a54c7a113] 2025-09-24 03:38:27 +0000
Fix mishandling of lock timeout signals in parallel apply workers
for logical replication (Hayato Kuroda)
§
The same signal number was being used for both worker shutdown and
lock timeout, leading to confusion.
-
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [17b2d5ec7] 2025-11-04 10:47:38 +0900
Branch: REL_18_STABLE [a14201073] 2025-11-04 10:52:33 +0900
Branch: REL_17_STABLE [e7340b484] 2025-11-04 10:52:35 +0900
Branch: REL_16_STABLE [9b6109607] 2025-11-04 10:52:38 +0900
Branch: REL_15_STABLE [da5ea6c70] 2025-11-04 10:52:41 +0900
Branch: REL_14_STABLE [a1b8b3b2e] 2025-11-04 10:52:42 +0900
Branch: REL_13_STABLE [25b484080] 2025-11-04 10:52:44 +0900
Avoid unwanted WAL receiver shutdown when switching from streaming
to archive WAL source (Xuneng Zhou)
§
During a timeline change, a standby server's WAL receiver should
remain alive, waiting for a new WAL streaming start point. Instead
it was repeatedly shutting down and immediately getting restarted,
which could confuse status monitoring code.
-
Author: Masahiko Sawada <msawada@postgresql.org>
Branch: master [b46efe904] 2025-10-09 10:59:27 -0700
Branch: REL_18_STABLE [32b95fc71] 2025-10-09 10:59:29 -0700
Branch: REL_17_STABLE [a61592253] 2025-10-09 10:59:31 -0700
Branch: REL_16_STABLE [b07682bce] 2025-10-09 10:59:34 -0700
Branch: REL_15_STABLE [c40761759] 2025-10-09 10:59:36 -0700
Fix use-after-free issue in the relation synchronization cache
maintained by the pgoutput logical
decoding plugin (Vignesh C, Masahiko Sawada)
§
An error during logical decoding could result in crashes in
subsequent logical decoding attempts in the same session.
The case is only reachable when pgoutput
is invoked via SQL functions.
-
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [d43209468] 2025-10-30 13:13:28 +0900
Branch: REL_18_STABLE [bf3dba508] 2025-10-30 13:13:31 +0900
Branch: REL_17_STABLE [f3fb6bc9f] 2025-10-30 13:13:34 +0900
Branch: REL_16_STABLE [e3714dc05] 2025-10-30 13:13:37 +0900
Avoid unnecessary invalidation of logical replication slots
(Bertrand Drouvot)
§
-
Author: Jeff Davis <jdavis@postgresql.org>
Branch: master [d115de9d8] 2025-11-04 16:48:16 -0800
Branch: REL_18_STABLE [3ebea75f9] 2025-11-04 16:49:00 -0800
Re-establish special case for C collation in
locale setup (Jeff Davis)
§
This fixes a regression in access to shared catalogs early in
backend startup, before a database has been selected. It is not
known to be a problem for any
core PostgreSQL code, but some extensions
were broken.
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [03bf7a12c] 2025-10-13 17:56:45 -0400
Branch: REL_18_STABLE [b48ae226e] 2025-10-13 17:56:45 -0400
Branch: REL_17_STABLE [4c53519e1] 2025-10-13 17:56:45 -0400
Branch: REL_16_STABLE [9883e3cd1] 2025-10-13 17:56:45 -0400
Branch: REL_15_STABLE [f91666c83] 2025-10-13 17:56:45 -0400
Branch: REL_14_STABLE [e91eb4ad6] 2025-10-13 17:56:45 -0400
Branch: REL_13_STABLE [75a555d61] 2025-10-13 17:56:45 -0400
Fix incorrect printing of messages about failures in checking
whether the user has Windows administrator privilege (Bryan Green)
§
This code would have crashed or at least printed garbage.
No such cases have been reported though, indicating that failure of
these system calls is extremely rare.
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [d4baa327a] 2025-11-05 11:09:45 -0500
Branch: REL_18_STABLE [6d8acb777] 2025-11-05 11:09:30 -0500
Branch: REL_17_STABLE [a9515f294] 2025-11-05 11:09:30 -0500
Branch: REL_16_STABLE [c775bf048] 2025-11-05 11:09:30 -0500
Avoid crash when attempting to
test PostgreSQL with certain libsanitizer
options (Emmanuel Sibi, Jacob Champion)
§
-
Author: David Rowley <drowley@postgresql.org>
Branch: master [50eb4e118] 2025-10-30 14:48:10 +1300
Branch: REL_18_STABLE [af3a79e08] 2025-10-30 14:49:07 +1300
Branch: REL_17_STABLE [bd6f986c9] 2025-10-30 14:49:42 +1300
Branch: REL_16_STABLE [cdc04a6c3] 2025-10-30 14:50:05 +1300
Branch: REL_15_STABLE [f3420e006] 2025-10-30 14:50:26 +1300
Branch: REL_14_STABLE [86bd9497f] 2025-10-30 14:50:46 +1300
Branch: REL_13_STABLE [7b955c227] 2025-10-30 14:51:08 +1300
Fix false memory-context-checking warnings in debug builds
on 64-bit Windows (David Rowley)
§
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [7504d2be9] 2025-09-27 14:29:41 -0400
Branch: REL_18_STABLE [78a284b0b] 2025-09-27 14:29:41 -0400
Branch: REL_17_STABLE [3fc9aa5b0] 2025-09-27 14:29:41 -0400
Branch: REL_16_STABLE [b7f6798c0] 2025-09-27 14:29:41 -0400
Branch: REL_15_STABLE [9ca79896a] 2025-09-27 14:29:41 -0400
Branch: REL_14_STABLE [0be39b4b1] 2025-09-27 14:29:41 -0400
Correctly handle GROUP BY DISTINCT in PL/pgSQL
assignment statements (Tom Lane)
§
The parser failed to record the DISTINCT option
in this context, so that the command would act as if it were
plain GROUP BY.
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [798b19d27] 2025-10-23 11:47:46 -0400
Branch: REL_18_STABLE [447a794f6] 2025-10-23 11:47:46 -0400
Branch: REL_17_STABLE [fbc41a145] 2025-10-23 11:47:46 -0400
Branch: REL_16_STABLE [cbfd4d0f8] 2025-10-23 11:47:46 -0400
Branch: REL_15_STABLE [4cde73259] 2025-10-23 11:47:46 -0400
Branch: REL_14_STABLE [7fb8c9240] 2025-10-23 11:47:46 -0400
Branch: REL_13_STABLE [d90c92d1c] 2025-10-23 11:47:46 -0400
Avoid leaking memory when handling a SQL error within PL/Python
(Tom Lane)
§
This fixes a session-lifespan memory leak introduced in our previous
minor releases.
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [ea78bd6d5] 2025-10-05 16:27:47 -0400
Branch: REL_18_STABLE [d83879a32] 2025-10-05 16:27:47 -0400
Branch: REL_17_STABLE [1c4671f7b] 2025-10-05 16:27:47 -0400
Branch: REL_16_STABLE [46c4478db] 2025-10-05 16:27:47 -0400
Branch: REL_15_STABLE [771b106d1] 2025-10-05 16:27:47 -0400
Branch: REL_14_STABLE [f46d77377] 2025-10-05 16:27:47 -0400
Branch: REL_13_STABLE [fc287cf3c] 2025-10-05 16:27:47 -0400
Fix libpq's handling of socket-related
errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane)
§
The code for encrypting/decrypting transmitted data using GSSAPI did
not correctly recognize error conditions on the connection socket,
since Windows reports those differently than other platforms. This
led to failure to make such connections on Windows.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [615ff828e] 2025-10-18 18:18:19 +0200
Branch: REL_18_STABLE [0fe07fa11] 2025-10-18 18:18:19 +0200
Branch: REL_17_STABLE [c945b06d5] 2025-10-18 18:18:19 +0200
Fix dumping of non-inherited not-null constraints on inherited table
columns (Dilip Kumar)
§
pg_dump failed to preserve such
constraints when dumping from a pre-v18 server.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [4921a5972] 2025-10-18 17:50:10 +0200
Branch: REL_18_STABLE [162e70ea0] 2025-10-18 17:50:10 +0200
Branch: REL_17_STABLE [7419c99a2] 2025-10-18 17:50:10 +0200
Branch: REL_16_STABLE [06c1ee6b7] 2025-10-18 17:50:10 +0200
Branch: REL_15_STABLE [4cc3b4445] 2025-10-18 17:50:10 +0200
Branch: REL_14_STABLE [6062c3db3] 2025-10-18 17:50:10 +0200
Branch: REL_13_STABLE [d20df9590] 2025-10-18 17:50:10 +0200
Fix pg_dump's sorting of
foreign key constraints (Álvaro Herrera)
§
Ensure consistent ordering of these database objects, as was
already done for other object types.
-
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
Branch: master [e686010c5] 2025-08-29 19:28:46 +0200
Branch: REL_18_STABLE Release: REL_18_0 [8980c724b] 2025-08-29 19:28:46 +0200
Branch: REL_17_STABLE [92268b35d] 2025-08-29 19:28:46 +0200
Branch: REL_16_STABLE [ec017a305] 2025-08-29 19:28:46 +0200
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [a239c4a0c] 2025-10-13 12:44:20 -0400
Branch: REL_18_STABLE [6a4009747] 2025-10-13 12:44:20 -0400
Branch: REL_17_STABLE [bf18e9bd7] 2025-10-13 12:44:20 -0400
Branch: REL_16_STABLE [1518b7d76] 2025-10-13 12:44:20 -0400
Branch: master [277dec651] 2025-10-19 14:36:58 -0400
Branch: REL_18_STABLE [aa1fcd087] 2025-10-19 14:36:58 -0400
Branch: REL_17_STABLE [2efca1633] 2025-10-19 14:36:58 -0400
Branch: REL_16_STABLE [c865f5b9f] 2025-10-19 14:36:58 -0400
Branch: REL_15_STABLE [8b9924bce] 2025-10-19 14:36:58 -0400
Branch: REL_14_STABLE [40dc710a6] 2025-10-19 14:36:58 -0400
Branch: REL_13_STABLE [33276cd02] 2025-10-19 14:36:58 -0400
Fix assorted errors in the data compression logic
in pg_dump
and pg_restore
(Daniel Gustafsson, Tom Lane)
§
§
§
Error checking was missing or incorrect in several places, and there
were also portability issues that would manifest on big-endian
hardware. These problems had been missed because this code is only
used to read compressed TOC files within directory-format
dumps. pg_dump never produces such a
dump; the case can be reached only by manually compressing the TOC
file after the fact, which is a supported thing to do but very
uncommon.
-
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [902c08887] 2025-10-03 14:03:55 +0900
Branch: REL_18_STABLE [c00637b5f] 2025-10-03 14:04:00 +0900
Branch: REL_17_STABLE [de6de069d] 2025-10-03 14:04:01 +0900
Branch: REL_16_STABLE [640590bb4] 2025-10-03 14:04:03 +0900
Branch: REL_15_STABLE [b5cefc197] 2025-10-03 14:04:05 +0900
Branch: REL_14_STABLE [9b3beb7c6] 2025-10-03 14:04:06 +0900
Branch: REL_13_STABLE [f1a2f3a0c] 2025-10-03 14:04:08 +0900
Fix pgbench to error out cleanly if
a COPY operation is started (Anthonin Bonnefoy)
§
pgbench doesn't intend to support this
case, but previously it went into an infinite loop.
-
Author: Fujii Masao <fujii@postgresql.org>
Branch: master [19d4f9ffc] 2025-09-30 23:52:28 +0900
Branch: REL_18_STABLE [29aabbc43] 2025-09-30 23:53:32 +0900
Branch: REL_17_STABLE [a912118c6] 2025-09-30 23:53:46 +0900
Branch: REL_16_STABLE [36c4d30c8] 2025-09-30 23:53:53 +0900
Branch: REL_15_STABLE [bdccb6302] 2025-09-30 23:54:01 +0900
Branch: REL_14_STABLE [cb21e1f92] 2025-09-30 23:55:02 +0900
Branch: REL_13_STABLE [7d7e81d1e] 2025-09-30 23:55:33 +0900
Fix pgbench's reporting of multiple
errors (Yugo Nagata)
§
In cases where two successive PQgetResult calls
both fail, pgbench might report the wrong
error message.
-
Author: Fujii Masao <fujii@postgresql.org>
Branch: master [8bb174295] 2025-09-26 21:23:43 +0900
Branch: REL_18_STABLE [c736808e0] 2025-09-26 21:24:59 +0900
Branch: REL_17_STABLE [f39d9164b] 2025-09-26 21:25:05 +0900
Branch: REL_16_STABLE [8b2e290bd] 2025-09-26 21:25:11 +0900
Branch: REL_15_STABLE [704f51771] 2025-09-26 21:25:17 +0900
In pgbench, fix faulty assertion about
errors in pipeline mode (Yugo Nagata)
§
-
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [9224c3025] 2025-10-22 13:38:40 -0400
Branch: REL_18_STABLE [e2072b47b] 2025-10-22 13:38:37 -0400
Branch: REL_17_STABLE [4eb6992af] 2025-10-22 13:38:37 -0400
Fix per-file memory leakage
in pg_combinebackup (Tom Lane)
§
-
Author: Masahiko Sawada <msawada@postgresql.org>
Branch: master [8ae0f6a0c] 2025-11-04 15:47:25 -0800
Branch: REL_18_STABLE [71aa2e114] 2025-11-04 15:47:22 -0800
Branch: master [eab9e4e27] 2025-08-19 12:11:42 -0700
Branch: REL_18_STABLE Release: REL_18_0 [0beb7e933] 2025-08-19 12:11:39 -0700
Branch: REL_17_STABLE [b6090ed96] 2025-08-19 12:11:37 -0700
Branch: REL_16_STABLE [815fcfb20] 2025-08-19 12:11:34 -0700
Branch: REL_15_STABLE [eb9ee4d18] 2025-08-19 12:11:32 -0700
Branch: REL_14_STABLE [79643105a] 2025-08-19 12:11:29 -0700
Branch: REL_13_STABLE [7d8d36289] 2025-08-19 12:11:25 -0700
Ensure that contrib/pg_buffercache functions
can be canceled (Satyanarayana Narlapuram, Yuhang Qiu)
§
§
Some code paths were capable of running for a long time without
checking for interrupts.
-
Author: Nathan Bossart <nathan@postgresql.org>
Branch: master [208927e65] 2025-10-17 11:36:50 -0500
Branch: REL_18_STABLE [3ccf8e9ac] 2025-10-17 11:36:50 -0500
Branch: REL_17_STABLE [a0551bc57] 2025-10-17 11:36:50 -0500
Branch: REL_16_STABLE [fae0ce5e3] 2025-10-17 11:36:50 -0500
Branch: REL_15_STABLE [6c03ae8d6] 2025-10-17 11:36:50 -0500
Branch: REL_14_STABLE [f146eb45c] 2025-10-17 11:36:50 -0500
Branch: REL_13_STABLE [19a64f567] 2025-10-17 11:36:50 -0500
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [da44d71e7] 2025-10-18 18:36:21 -0400
Branch: REL_18_STABLE [c29d32d27] 2025-10-18 18:36:21 -0400
Branch: REL_17_STABLE [d4e8c37cc] 2025-10-18 18:36:21 -0400
Branch: REL_16_STABLE [c26a8eaf6] 2025-10-18 18:36:21 -0400
Fix contrib/pg_prewarm's privilege checks for
indexes (Ayush Vatsa, Nathan Bossart)
§
§
pg_prewarm() requires SELECT
privilege on relations to be prewarmed. However, since indexes have
no SQL privileges of their own, this resulted in non-superusers
being unable to prewarm indexes. Instead, check
for SELECT privilege on the index's table.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [16edc1b94] 2025-10-29 12:35:02 +0100
Branch: REL_18_STABLE [b1635c166] 2025-10-29 12:35:02 +0100
In contrib/pg_stat_statements, avoid
crash when two or more constants are marked as having the same
location in the SQL statement text (Sami Imseih, Dmitry Dolgov)
§
-
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [684a745f5] 2025-10-02 11:07:30 +0900
Branch: REL_18_STABLE [fc295beb7] 2025-10-02 11:09:10 +0900
Branch: REL_17_STABLE [036decbba] 2025-10-02 11:09:12 +0900
Branch: REL_16_STABLE [c0f9fe877] 2025-10-02 11:09:13 +0900
Branch: REL_15_STABLE [49b5f0b53] 2025-10-02 11:09:15 +0900
Branch: REL_14_STABLE [ee2dbcad0] 2025-10-02 11:09:17 +0900
Branch: REL_13_STABLE [c207bf473] 2025-10-02 11:09:19 +0900
Make contrib/pgstattuple more robust about
empty or invalid index pages (Nitin Motiani)
§
Count all-zero pages as free space, and ignore pages that are
invalid according to a check of the page's special-space size.
The code for btree indexes already counted all-zero pages as free,
but the hash and gist code would error out, which has been found to
be much less user-friendly. Similarly, make all three cases agree
on ignoring corrupted pages rather than throwing errors.
-
Author: Thomas Munro <tmunro@postgresql.org>
Branch: master [c5d34f4a5] 2025-11-08 12:26:43 +1300
Branch: REL_18_STABLE [f8ccab0e9] 2025-11-08 12:28:15 +1300
Branch: REL_17_STABLE [03d9140cb] 2025-11-08 12:28:52 +1300
Branch: REL_16_STABLE [2f76ffe5e] 2025-11-08 12:29:15 +1300
Branch: REL_15_STABLE [1c7cba4c5] 2025-11-08 12:30:08 +1300
Branch: REL_14_STABLE [d8ba910b0] 2025-11-08 12:32:42 +1300
Branch: REL_13_STABLE [77b5b2c6f] 2025-11-08 12:33:01 +1300
Harden our read and write barrier macros to satisfy Clang
(Thomas Munro)
§
We supposed that __atomic_thread_fence() is a
sufficient barrier to prevent the C compiler from re-ordering memory
accesses around it, but it appears that that's not true for Clang,
allowing it to generate incorrect code for at least RISC-V, MIPS,
and LoongArch machines. Add explicit compiler barriers to fix that.
-
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [6ad9378c9] 2025-10-16 20:21:05 +0200
Branch: REL_18_STABLE [6aa04a60c] 2025-10-16 20:21:05 +0200
Branch: REL_17_STABLE [a8933194e] 2025-10-16 20:21:05 +0200
Branch: REL_16_STABLE [a506b0c0a] 2025-10-16 20:21:05 +0200
Branch: REL_15_STABLE [33202cba8] 2025-10-16 20:21:05 +0200
Branch: REL_14_STABLE [56cd332f8] 2025-10-16 20:21:05 +0200
Branch: REL_13_STABLE [f768f5a7d] 2025-10-16 20:21:05 +0200
Fix PGXS build infrastructure to support building
NLS po files for extensions (Ryo Matsumura)
§