↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

DocumentationVersion comparison

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.2.5 release changes

All features, fixes, and compatibility notes in this release, with related records from other versions.

All changes in this release
All changes in this release

Includes changes after the source version through the target. A major version name means its initial release.

From PostgreSQL 9.0 onward: 17 major branches and 352 release notes. Updated 2026-09-26.

Complete release changes

9.2.5

2013-10-10

Export JSON
45changesFeatures, fixes, improvements
1releaseGrouped by release
0CVEsVulnerability IDs mentioned in these notes

9.2.5 HistoricalSupport ends 2017-11-09

PostgreSQL 9.2.5

Migration and compatibility

A dump/restore is not required for those running 9.2.X.

However, if you are upgrading from a version earlier than 9.2.4, see Section E.21.

Bug fixesPrevent corruption of multi-byte characters when attempting to case-fold identifiers

Changes

Prevent corruption of multi-byte characters when attempting to case-fold identifiers (Andrew Dunstan)

PostgreSQL case-folds non-ASCII characters only when using a single-byte server encoding.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix memory leak when creating B-tree indexes on range columns

Changes

Fix memory leak when creating B-tree indexes on range columns (Heikki Linnakangas)

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix checkpoint memory leak in background writer when wal_level = hot_standby

Changes

Fix checkpoint memory leak in background writer when wal_level = hot_standby (Naoya Anzai)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix memory leak caused by lo_open() failure

Changes

Fix memory leak caused by lo_open() failure (Heikki Linnakangas)

Related records (3)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix memory overcommit bug when work_mem is using more than 24GB of memory

Changes

Fix memory overcommit bug when work_mem is using more than 24GB of memory (Stephen Frost)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesSerializable snapshot fixes

Changes

Serializable snapshot fixes (Kevin Grittner, Heikki Linnakangas)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix deadlock bug in libpq when using SSL

Changes

Fix deadlock bug in libpq when using SSL (Stephen Frost)

Related records (3)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix possible SSL state corruption in threaded libpq applications

Changes

Fix possible SSL state corruption in threaded libpq applications (Nick Phillips, Stephen Frost)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsImprove estimate of planner cost when choosing between generic and custom plans

Changes

Improve estimate of planner cost when choosing between generic and custom plans (Tom Lane)

This change will favor generic plans when planning cost is high.

ImprovementsProperly compute row estimates for boolean columns containing many NULL values

Changes

Properly compute row estimates for boolean columns containing many NULL values (Andrew Gierth)

Previously tests like col IS NOT TRUE and col IS NOT FALSE did not properly factor in NULL values when estimating plan costs.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix accounting for qualifier evaluation costs in UNION ALL and inheritance queries

Changes

Fix accounting for qualifier evaluation costs in UNION ALL and inheritance queries (Tom Lane)

This fixes cases where suboptimal query plans could be chosen if some WHERE clauses are expensive to calculate.

ImprovementsPrevent pushing down WHERE clauses into unsafe UNION/INTERSECT subqueries

Changes

Prevent pushing down WHERE clauses into unsafe UNION/INTERSECT subqueries (Tom Lane)

Subqueries of a UNION or INTERSECT that contain set-returning functions or volatile functions in their SELECT lists could be improperly optimized, leading to run-time errors or incorrect query results.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix rare case of "failed to locate grouping columns" planner failure

Changes

Fix rare case of "failed to locate grouping columns" planner failure (Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix pg_dump of foreign tables with dropped columns

Changes

Fix pg_dump of foreign tables with dropped columns (Andrew Dunstan)

Previously such cases could cause a pg_upgrade error.

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsReorder pg_dump processing of extension-related rules and event triggers

Changes

Reorder pg_dump processing of extension-related rules and event triggers (Joe Conway)

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsForce dumping of extension tables if specified by pg_dump -t or -n

Changes

Force dumping of extension tables if specified by pg_dump -t or -n (Joe Conway)

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsImprove view dumping code's handling of dropped columns in referenced tables

Changes

Improve view dumping code's handling of dropped columns in referenced tables (Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix pg_restore -l with the directory archive to display the correct format name

Changes

Fix pg_restore -l with the directory archive to display the correct format name (Fujii Masao)

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsProperly record index comments created using UNIQUE and PRIMARY KEY syntax

Changes

Properly record index comments created using UNIQUE and PRIMARY KEY syntax (Andres Freund)

This fixes a parallel pg_restore failure.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsCause pg_basebackup -x with an empty xlog directory to throw an error rather than crashing

Changes

Cause pg_basebackup -x with an empty xlog directory to throw an error rather than crashing (Magnus Hagander, Haruka Takatsuka)

ImprovementsProperly guarantee transmission of WAL files before clean switchover

Changes

Properly guarantee transmission of WAL files before clean switchover (Fujii Masao)

Previously, the streaming replication connection might close before all WAL files had been replayed on the standby.

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix WAL segment timeline handling during recovery

Changes

Fix WAL segment timeline handling during recovery (Mitsumasa Kondo, Heikki Linnakangas)

WAL file recycling during standby recovery could lead to premature recovery completion, resulting in data loss.

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsPrevent errors in WAL replay due to references to uninitialized empty pages

Changes

Prevent errors in WAL replay due to references to uninitialized empty pages (Andres Freund)

Bug fixesFix REINDEX TABLE and REINDEX DATABASE to properly revalidate constraints and mark invalidated indexes as valid

Changes

Fix REINDEX TABLE and REINDEX DATABASE to properly revalidate constraints and mark invalidated indexes as valid (Noah Misch)

REINDEX INDEX has always worked properly.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesAvoid deadlocks during insertion into SP-GiST indexes

Changes

Avoid deadlocks during insertion into SP-GiST indexes (Teodor Sigaev)

Bug fixesFix possible deadlock during concurrent CREATE INDEX CONCURRENTLY operations

Changes

Fix possible deadlock during concurrent CREATE INDEX CONCURRENTLY operations (Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix GiST index lookup crash

Changes

Fix GiST index lookup crash (Tom Lane)

Bug fixesFix regexp_matches() handling of zero-length matches

Changes

Fix regexp_matches() handling of zero-length matches (Jeevan Chalke)

Previously, zero-length matches like '^' could return too many matches.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix crash for overly-complex regular expressions

Changes

Fix crash for overly-complex regular expressions (Heikki Linnakangas)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesFix regular expression match failures for back references combined with non-greedy quantifiers

Changes

Fix regular expression match failures for back references combined with non-greedy quantifiers (Jeevan Chalke)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsPrevent CREATE FUNCTION from checking SET variables unless function body checking is enabled

Changes

Prevent CREATE FUNCTION from checking SET variables unless function body checking is enabled (Tom Lane)

Related records (3)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsAllow ALTER DEFAULT PRIVILEGES to operate on schemas without requiring CREATE permission

Changes

Allow ALTER DEFAULT PRIVILEGES to operate on schemas without requiring CREATE permission (Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsLoosen restriction on keywords used in queries

Changes

Loosen restriction on keywords used in queries (Tom Lane)

Specifically, lessen keyword restrictions for role names, language names, EXPLAIN and COPY options, and SET values. This allows COPY ... (FORMAT BINARY) to work as expected; previously BINARY needed to be quoted.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsPrint proper line number during COPY failure

Changes

Print proper line number during COPY failure (Heikki Linnakangas)

Bug fixesFix pgp_pub_decrypt() so it works for secret keys with passwords

Changes

Fix pgp_pub_decrypt() so it works for secret keys with passwords (Marko Kreen)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsMake pg_upgrade use pg_dump --quote-all-identifiers to avoid problems with keyword changes between releases

Changes

Make pg_upgrade use pg_dump --quote-all-identifiers to avoid problems with keyword changes between releases (Tom Lane)

Related records (1)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsRemove rare inaccurate warning during vacuum of index-less tables

Changes

Remove rare inaccurate warning during vacuum of index-less tables (Heikki Linnakangas)

Related records (3)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsEnsure that VACUUM ANALYZE still runs the ANALYZE phase if its attempt to truncate the file is cancelled due to lock conflicts

Changes

Ensure that VACUUM ANALYZE still runs the ANALYZE phase if its attempt to truncate the file is cancelled due to lock conflicts (Kevin Grittner)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsAvoid possible failure when performing transaction control commands (e.g ROLLBACK) in prepared queries

Changes

Avoid possible failure when performing transaction control commands (e.g ROLLBACK) in prepared queries (Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsEnsure that floating-point data input accepts standard spellings of "infinity" on all platforms

Changes

Ensure that floating-point data input accepts standard spellings of "infinity" on all platforms (Tom Lane)

The C99 standard says that allowable spellings are inf, +inf, -inf, infinity, +infinity, and -infinity. Make sure we recognize these even if the platform's strtod function doesn't.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

ImprovementsAvoid unnecessary reporting when track_activities is off

Changes

Avoid unnecessary reporting when track_activities is off (Tom Lane)

ImprovementsExpand ability to compare rows to records and arrays

Changes

Expand ability to compare rows to records and arrays (Rafal Rzepecki, Tom Lane)

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

Bug fixesPrevent crash when psql's PSQLRC variable contains a tilde

Changes

Prevent crash when psql's PSQLRC variable contains a tilde (Bruce Momjian)

ImprovementsAdd spinlock support for ARM64

Changes

Add spinlock support for ARM64 (Mark Salter)

ImprovementsUpdate time zone data files to tzdata release 2013d for DST law changes in Israel, Morocco, Palestine, and Paraguay. Also, historical zone data corrections for Macquarie Island.

Changes

Update time zone data files to tzdata release 2013d for DST law changes in Israel, Morocco, Palestine, and Paraguay. Also, historical zone data corrections for Macquarie Island.

Related records (2)

“Same change” requires complete matching evidence. “Related commits” can cover independent changes, a partial backport, or a follow-up correction; each release keeps its own explanation.

How is this comparison generated?

The comparison follows PostgreSQL release notes from just after the source through the target version. For a major upgrade, maintenance releases from each older branch are included only up to the next major release date, and never after the target date. A major version such as 18 means its initial release, 18.0. Previews and development snapshots are labeled separately.

Entries come from the original English manuals. Release coverage and commit evidence are verified against upstream sources. Every entry retains its complete explanation and source link. Categories aid browsing; read the full notes for impact, conditions, and migration steps.

Fixes can be backported to several branches. Confirmed duplicates are merged conservatively, with every branch explanation retained. A note describing several independent fixes is excluded only when all are already present in the source. Major-release features remain distinct from related maintenance patches unless their complete original descriptions match. Uncertain matches are retained. This is a release-note history, not an exhaustive comparison of compiled binaries.

CVE results are calculated independently from the PostgreSQL security registry and vulnerability records. A CVE counts as gained protection only when the source is affected and the target is fixed or unaffected. Remaining vulnerabilities are listed separately. Security entries and distinct CVEs are counted separately.

Interaction inspired by pgversions.com and pgversionreport. Content comes from PostgreSQL release notes. See the release notes archive.