PostgreSQL November Updates Ask for Some Reindexing and New Full Backups for Incremental-Backup Users; Announcement Calls 14.25 the Final 14 Release
The PostgreSQL project's November 12 announcement lists six post-update steps, calls 14.25 the final 14 release and plans PostgreSQL 19 general availability for November 19; the five release-notes pages differ by branch.
Overview
The PostgreSQL Global Development Group released PostgreSQL 18.7, 17.12, 16.16, 15.20 and 14.25, plus the second release candidate of PostgreSQL 19, in an announcement posted November 12, 2026. The project says the update releases fix 52 security vulnerabilities and over 140 bugs, and that there are “several issues that may require you to take extra steps after updating.” This article covers those steps, how the five branches’ release notes differ, the end of PostgreSQL 14 and the PostgreSQL 19 schedule. The CVE list is in the announcement and is not summarised here.
Steps the announcement lists
The announcement’s “Updating” section gives six post-update steps (the Herald’s count, recounted from that section), each conditional on how a database is used or on a suspected problem:
- GIN indexes: if you suspect a GIN index is affected by one of the corruption issues fixed in the release, reindex it.
- pg_trgm: “If you use pg_trgm, you should reindex any GiST indexes that use the gist_trgm_ops operator class.”
- Missing chunk number errors: reindex the table, which also reindexes its TOAST table.
- Incremental backups: take a new full backup after updating and use it as the basis for later incremental backups.
- Partitioned tables: run the announcement’s query to find
NOT NULL NO INHERITconstraints on partitioned tables, drop unwanted ones, and repair the rest withALTER CONSTRAINT ... INHERIT, which the announcement says “will fail if any of the table’s partitions contain NULL values in that column.” - bpchar: reindex B-tree indexes on columns declared as
bpcharwithout a length. The announcement adds: “Columns declared as char(n) are not affected.”
The announcement also says users are not required to dump and reload their databases or use pg_upgrade to apply the update, and that users who skipped earlier update releases “may need to run additional post-update steps,” pointing them to the release notes of earlier versions. Help Net Security, an independent outlet, lists the reindex and incremental-backup steps for GIN, pg_trgm, bpchar and missing-chunk-number errors; its article does not mention the partitioned-table constraint check.
What the release notes add
The release notes say more than the announcement on two points. In the 18.7 release notes, an entry on defences against concurrent changes to composite types states: “For full protection, this change requires rebuilding C-language extensions, and there are some extensions that will require source-code changes.” The entry adds that a new composite_type_mismatch server parameter can disable the checks, “but doing so carries security risks.” The Herald found no mention of rebuilding extensions in the announcement’s text; that is silence, not contradiction.
On incremental backups, the 18.7 notes say “existing incremental backup files should not be trusted.” One fix concerns stale visibility map bits that an incremental backup can restore “when both data checksums and wal_log_hints are disabled.” The notes add: “This fix does not correct existing WAL summaries, therefore incremental backups taken after updating can still be affected.”
The announcement and the 18.7 notes both describe a reworked planner join-removal implementation. The announcement calls it “a significant change for an update release.” The 18.7 notes say it is a change “that normally we’d never consider back-patching.”
Branch differences
The Herald compared the five release-notes pages (18.7, 17.12, 16.16, 15.20 and 14.25) on November 13 by searching each for phrases. This is the Herald’s own comparison:
- The incremental-backup guidance and fixes appear on the 18.7 and 17.12 pages; the 16.16, 15.20 and 14.25 pages do not mention incremental backups.
- The join-removal rework appears on the 18.7, 17.12 and 16.16 pages, not on the 15.20 or 14.25 pages.
- The
NOT NULL NO INHERITentry appears on the 18.7 page only. - The composite-type extension-rebuild statement and the bpchar, gist_trgm_ops, GIN and missing-chunk-number entries appear on all five pages.
The announcement states that the bug fixes it lists affect PostgreSQL 18 and that many of them also affect other supported versions, so the steps above do not apply equally to every branch.
PostgreSQL 14
The announcement says: “This is the final release of PostgreSQL 14. PostgreSQL 14 is now end-of-life and will no longer receive security and bug fixes.” Help Net Security likewise calls 14.25 the final release of PostgreSQL 14. The 14.25 release notes use softer wording: “This is expected to be the last PostgreSQL release in the 14.X series.” The versioning policy page, read on November 13, lists November 12, 2026 as the final release date for version 14, but its “Supported” cell for 14 read “Yes.” None of the cited pages explains the difference, so the Herald reports each wording as published.
PostgreSQL 19 RC 2
The announcement says RC 2 includes the update-release fixes that apply to PostgreSQL 19, and gives November 19, 2026 as the planned general availability date, “[u]nless an issue is discovered that requires a delay or an additional release candidate.” As the Herald previously reported, the RC 1 announcement set the same date and planned RC 2 for November 12.
Among the changes since RC 1, the announcement lists a revert of a change that had allowed JSON_ARRAY() and JSON_OBJECT() expressions over arrays, composite types and range types in expression indexes, generated columns and partition keys. The announcement says anyone who created such objects while testing 19 needs to drop or redefine them before upgrading, because pg_dump/pg_restore and pg_upgrade will fail to recreate them. Help Net Security reports the same revert. The list is introduced as changes that “include” these items, and it also names fixes for wrong results in GROUPING SETS queries and a stuck LISTEN/NOTIFY queue, among others. For pg_upgrade users with full-text search, pg_trgm or fuzzystrmatch indexes, the announcement points to the “Migration to Version 19” section of the release notes, saying they may need to reindex after upgrading.
What the sources do not say
Neither the announcement nor Help Net Security estimates how many installations hold indexes affected by the corruption bugs, and neither says how to tell whether a given GIN index is affected beyond the announcement’s wording that a user should reindex if they suspect it is.