↑↓ 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 11.2 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

11.2

2019-02-14

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

11.2 HistoricalSupport ends 2023-11-09

PostgreSQL 11.2

Migration and compatibility

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

However, if you are upgrading from a version earlier than 11.1, see Section E.22.

Bug fixesBy default, panic instead of retrying after fsync() failure, to avoid possible data corruption

Changes

By default, panic instead of retrying after fsync() failure, to avoid possible data corruption (Craig Ringer, Thomas Munro)

Some popular operating systems discard kernel data buffers when unable to write them out, reporting this as fsync() failure. If we reissue the fsync() request it will succeed, but in fact the data has been lost, so continuing risks database corruption. By raising a panic condition instead, we can replay from WAL, which may contain the only remaining copy of the data in such a situation. While this is surely ugly and inefficient, there are few alternatives, and fortunately the case happens very rarely.

A new server parameter data_sync_retry has been added to control this; if you are certain that your kernel does not discard dirty data buffers in such scenarios, you can set data_sync_retry to on to restore the old behavior.

Related records (4)

“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.

ImprovementsInclude each major release branch's release notes in the documentation for only that branch, rather than that branch and all later ones

Changes

Include each major release branch's release notes in the documentation for only that branch, rather than that branch and all later ones (Tom Lane)

The duplication induced by the previous policy was getting out of hand. Our plan is to provide a full archive of release notes on the project's web site, but not duplicate it within each release.

Related records (4)

“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 handling of unique indexes with INCLUDE columns on partitioned tables

Changes

Fix handling of unique indexes with INCLUDE columns on partitioned tables (Álvaro Herrera)

The uniqueness condition was not checked properly in such cases.

ImprovementsEnsure that NOT NULL constraints of a partitioned table are honored within its partitions

Changes

Ensure that NOT NULL constraints of a partitioned table are honored within its partitions (Álvaro Herrera, Amit Langote)

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.

ImprovementsUpdate catalog state correctly for partition table constraints when detaching their partition

Changes

Update catalog state correctly for partition table constraints when detaching their partition (Amit Langote, Álvaro Herrera)

Previously, the pg_constraint.conislocal field for such a constraint might improperly be left as false, rendering it undroppable. A dump/restore or pg_upgrade would cure the problem, but if necessary, the catalog field can be adjusted manually.

ImprovementsCreate or delete foreign key enforcement triggers correctly when attaching or detaching a partition in a partitioned table that has a foreign-key constraint

Changes

Create or delete foreign key enforcement triggers correctly when attaching or detaching a partition in a partitioned table that has a foreign-key constraint (Amit Langote, Álvaro Herrera)

ImprovementsAvoid useless creation of duplicate foreign key constraints in partitioned tables

Changes

Avoid useless creation of duplicate foreign key constraints in partitioned tables (Álvaro Herrera)

ImprovementsWhen an index is created on a partitioned table using ONLY, and there are no partitions yet, mark it valid immediately

Changes

When an index is created on a partitioned table using ONLY, and there are no partitions yet, mark it valid immediately (Álvaro Herrera)

Otherwise there is no way to make it become valid.

ImprovementsUse a safe table lock level when detaching a partition

Changes

Use a safe table lock level when detaching a partition (Álvaro Herrera)

The previous locking level was too weak and might allow concurrent DDL on the table, with bad results.

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 problems with applying ON COMMIT DROP and ON COMMIT DELETE ROWS to partitioned tables and tables with inheritance children

Changes

Fix problems with applying ON COMMIT DROP and ON COMMIT DELETE ROWS to partitioned tables and tables with inheritance children (Michael Paquier)

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.

ImprovementsDisallow COPY FREEZE on partitioned tables

Changes

Disallow COPY FREEZE on partitioned tables (David Rowley)

This should eventually be made to work, but it may require a patch that's too complicated to risk back-patching.

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 possible index corruption when the indexed column has a “fast default” (that is, it was added by ALTER TABLE ADD COLUMN with a constant non-NULL default value specified, after the table already contained some rows)

Changes

Fix possible index corruption when the indexed column has a “fast default” (that is, it was added by ALTER TABLE ADD COLUMN with a constant non-NULL default value specified, after the table already contained some rows) (Andres Freund)

ImprovementsCorrectly adjust “fast default” values during ALTER TABLE ... ALTER COLUMN TYPE

Changes

Correctly adjust “fast default” values during ALTER TABLE ... ALTER COLUMN TYPE (Andrew Dunstan)

Bug fixesAvoid possible deadlock when acquiring multiple buffer locks

Changes

Avoid possible deadlock when acquiring multiple buffer locks (Nishant Fnu)

Related records (4)

“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 deadlock between GIN vacuuming and concurrent index insertions

Changes

Avoid deadlock between GIN vacuuming and concurrent index insertions (Alexander Korotkov, Andrey Borodin, Peter Geoghegan)

This change partially reverts a performance improvement, introduced in version 10.0, that attempted to reduce the number of index pages locked during deletion of a GIN posting tree page. That's now been found to lead to deadlocks, so we've removed it pending closer analysis.

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 fixesAvoid deadlock between hot-standby queries and replay of GIN index page deletion

Changes

Avoid deadlock between hot-standby queries and replay of GIN index page deletion (Alexander Korotkov)

Related records (4)

“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 crashes in logical replication when index expressions or predicates are in use

Changes

Fix possible crashes in logical replication when index expressions or predicates are in use (Peter Eisentraut)

Related records (4)

“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 useless and expensive logical decoding of TOAST data during a table rewrite

Changes

Avoid useless and expensive logical decoding of TOAST data during a table rewrite (Tomas Vondra)

Related records (4)

“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 logic for stopping a subset of WAL senders when synchronous replication is enabled

Changes

Fix logic for stopping a subset of WAL senders when synchronous replication is enabled (Paul Guo, Michael Paquier)

Related records (4)

“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 possibly writing an incorrect replica identity field in a tuple deletion WAL record

Changes

Avoid possibly writing an incorrect replica identity field in a tuple deletion WAL record (Stas Kelvich)

Related records (4)

“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 incorrect use of WAL-skipping optimization during COPY to a view or foreign table

Changes

Prevent incorrect use of WAL-skipping optimization during COPY to a view or foreign table (Amit Langote, Michael Paquier)

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.

ImprovementsMake the archiver prioritize WAL history files over WAL data files while choosing which file to archive next

Changes

Make the archiver prioritize WAL history files over WAL data files while choosing which file to archive next (David Steele)

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 crash in UPDATE with a multiple SET clause using a sub-SELECT as source

Changes

Fix possible crash in UPDATE with a multiple SET clause using a sub-SELECT as source (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.

Bug fixesFix crash when zero rows are fed to json[b]_populate_recordset() or json[b]_to_recordset()

Changes

Fix crash when zero rows are fed to json[b]_populate_recordset() or json[b]_to_recordset() (Tom Lane)

Bug fixesAvoid crash if libxml2 returns a null error message

Changes

Avoid crash if libxml2 returns a null error message (Sergio Conde Gómez)

Related records (4)

“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 incorrect JIT tuple deforming code for tables with many columns (more than approximately 800)

Changes

Fix incorrect JIT tuple deforming code for tables with many columns (more than approximately 800) (Andres Freund)

Bug fixesFix performance and memory leakage issues in hash-based grouping

Changes

Fix performance and memory leakage issues in hash-based grouping (Andres Freund)

Bug fixesFix spurious grouping-related parser errors caused by inconsistent handling of collation assignment

Changes

Fix spurious grouping-related parser errors caused by inconsistent handling of collation assignment (Andrew Gierth)

In some cases, expressions that should be considered to match were not seen as matching, if they included operations on collatable data types.

Related records (4)

“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 parsing of collation-sensitive expressions in the arguments of a CALL statement

Changes

Fix parsing of collation-sensitive expressions in the arguments of a CALL statement (Peter Eisentraut)

ImprovementsEnsure proper cleanup after detecting an error in the argument list of a CALL statement

Changes

Ensure proper cleanup after detecting an error in the argument list of a CALL statement (Tom Lane)

ImprovementsCheck whether the comparison function underlying LEAST() or GREATEST() is leakproof, rather than just assuming it is

Changes

Check whether the comparison function underlying LEAST() or GREATEST() is leakproof, rather than just assuming it is (Tom Lane)

Actual information leaks from btree comparison functions are typically hard to provoke, but in principle they could happen.

Related records (4)

“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 incorrect planning of queries involving nested loops both above and below a Gather plan node

Changes

Fix incorrect planning of queries involving nested loops both above and below a Gather plan node (Tom Lane)

If both levels of nestloop needed to pass the same variable into their right-hand sides, an incorrect plan would be generated.

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 incorrect planning of queries in which a lateral reference must be evaluated at a foreign table scan

Changes

Fix incorrect planning of queries in which a lateral reference must be evaluated at a foreign table scan (Tom Lane)

Related records (4)

“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 planner failure when the first column of a row comparison matches an index column, but later column(s) do not, and the index has included (non-key) columns

Changes

Fix planner failure when the first column of a row comparison matches an index column, but later column(s) do not, and the index has included (non-key) columns (Tom Lane)

Bug fixesFix corner-case underestimation of the cost of a merge join

Changes

Fix corner-case underestimation of the cost of a merge join (Tom Lane)

The planner could prefer a merge join when the outer key range is much smaller than the inner key range, even if there are so many duplicate keys on the inner side that this is a poor choice.

Related records (4)

“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 O(N^2) planning time growth when a query contains many thousand indexable clauses

Changes

Avoid O(N^2) planning time growth when a query contains many thousand indexable clauses (Tom Lane)

Related records (4)

“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 planning speed for large inheritance or partitioning table groups

Changes

Improve planning speed for large inheritance or partitioning table groups (Amit Langote, Etsuro Fujita)

ImprovementsImprove ANALYZE's handling of concurrently-updated rows

Changes

Improve ANALYZE's handling of concurrently-updated rows (Jeff Janes, Tom Lane)

Previously, rows deleted by an in-progress transaction were omitted from ANALYZE's sample, but this has been found to lead to more inconsistency than including them would do. In effect, the sample now corresponds to an MVCC snapshot as of ANALYZE's start time.

Related records (4)

“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 TRUNCATE ignore inheritance child tables that are temporary tables of other sessions

Changes

Make TRUNCATE ignore inheritance child tables that are temporary tables of other sessions (Amit Langote, Michael Paquier)

This brings TRUNCATE into line with the behavior of other commands. Previously, such cases usually ended in failure.

Related records (4)

“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 TRUNCATE to update the statistics counters for the right table

Changes

Fix TRUNCATE to update the statistics counters for the right table (Tom Lane)

If the truncated table had a TOAST table, that table's counters were reset instead.

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.

ImprovementsProcess ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS correctly

Changes

Process ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS correctly (Greg Stark)

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.

ImprovementsAllow UNLISTEN in hot-standby mode

Changes

Allow UNLISTEN in hot-standby mode (Shay Rojansky)

This is necessarily a no-op, because LISTEN isn't allowed in hot-standby mode; but allowing the dummy operation simplifies session-state-reset logic in clients.

Related records (4)

“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 missing role dependencies in some schema and data type permissions lists

Changes

Fix missing role dependencies in some schema and data type permissions lists (Tom Lane)

In some cases it was possible to drop a role to which permissions had been granted. This caused no immediate problem, but a subsequent dump/reload or upgrade would fail, with symptoms involving attempts to grant privileges to all-numeric role names.

Related records (4)

“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 use of a session's temporary schema within a two-phase transaction

Changes

Prevent use of a session's temporary schema within a two-phase transaction (Michael Paquier)

Accessing a temporary table within such a transaction has been forbidden for a long time, but it was still possible to cause problems with other operations on temporary objects.

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.

ImprovementsEnsure relation caches are updated properly after adding or removing foreign key constraints

Changes

Ensure relation caches are updated properly after adding or removing foreign key constraints (Álvaro Herrera)

This oversight could result in existing sessions failing to enforce a newly-created constraint, or continuing to enforce a dropped one.

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 relation caches are updated properly after renaming constraints

Changes

Ensure relation caches are updated properly after renaming constraints (Amit Langote)

Related records (4)

“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 replay of GiST index micro-vacuum operations so that concurrent hot-standby queries do not see inconsistent state

Changes

Fix replay of GiST index micro-vacuum operations so that concurrent hot-standby queries do not see inconsistent state (Alexander Korotkov)

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 empty GIN index pages from being reclaimed too quickly, causing failures of concurrent searches

Changes

Prevent empty GIN index pages from being reclaimed too quickly, causing failures of concurrent searches (Andrey Borodin, Alexander Korotkov)

Related records (4)

“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 edge-case failures in float-to-integer coercions

Changes

Fix edge-case failures in float-to-integer coercions (Andrew Gierth, Tom Lane)

Values very slightly above the maximum valid integer value might not be rejected, and then would overflow, producing the minimum valid integer instead. Also, values that should round to the minimum or maximum integer value might be incorrectly rejected.

Related records (4)

“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 parsing of space-separated lists of host names in the ldapserver parameter of LDAP authentication entries in pg_hba.conf

Changes

Fix parsing of space-separated lists of host names in the ldapserver parameter of LDAP authentication entries in pg_hba.conf (Thomas Munro)

ImprovementsWhen making a PAM authentication request, don't set the PAM_RHOST variable if the connection is via a Unix socket

Changes

When making a PAM authentication request, don't set the PAM_RHOST variable if the connection is via a Unix socket (Thomas Munro)

Previously that variable would be set to [local], which is at best unhelpful, since it's supposed to be a host name.

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.

ImprovementsDisallow setting client_min_messages higher than ERROR

Changes

Disallow setting client_min_messages higher than ERROR (Jonah Harris, Tom Lane)

Previously, it was possible to set this variable to FATAL or PANIC, which had the effect of suppressing transmission of ordinary error messages to the client. However, that's contrary to guarantees that are given in the PostgreSQL wire protocol specification, and it caused some clients to become very confused. In released branches, fix this by silently treating such settings as meaning ERROR instead. Version 12 and later will reject those alternatives altogether.

Related records (4)

“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 ecpglib to use uselocale() or _configthreadlocale() in preference to setlocale()

Changes

Fix ecpglib to use uselocale() or _configthreadlocale() in preference to setlocale() (Michael Meskes, Tom Lane)

Since setlocale() is not thread-local, and might not even be thread-safe, the previous coding caused problems in multi-threaded ecpg applications.

Related records (4)

“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 incorrect results for numeric data passed through an ecpg SQLDA (SQL Descriptor Area)

Changes

Fix incorrect results for numeric data passed through an ecpg SQLDA (SQL Descriptor Area) (Daisuke Higuchi)

Values with leading zeroes were not copied correctly.

Related records (4)

“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 psql's \g target meta-command to work with COPY TO STDOUT

Changes

Fix psql's \g target meta-command to work with COPY TO STDOUT (Daniel Vérité)

Previously, the target option was ignored, so that the copy data always went to the current query output target.

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.

ImprovementsMake psql's LaTeX output formats render special characters properly

Changes

Make psql's LaTeX output formats render special characters properly (Tom Lane)

Backslash and some other ASCII punctuation characters were not rendered correctly, leading to document syntax errors or wrong characters in the output.

Related records (4)

“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 pgbench's random number generation fully deterministic and platform-independent when --random-seed=N is specified

Changes

Make pgbench's random number generation fully deterministic and platform-independent when --random-seed=N is specified (Fabien Coelho, Tom Lane)

On any specific platform, the sequence obtained with a particular value of N will probably be different from what it was before this patch.

Bug fixesFix pg_basebackup and pg_verify_checksums to ignore temporary files appropriately

Changes

Fix pg_basebackup and pg_verify_checksums to ignore temporary files appropriately (Michael Banck, Michael Paquier)

Bug fixesFix pg_dump's handling of materialized views with indirect dependencies on primary keys

Changes

Fix pg_dump's handling of materialized views with indirect dependencies on primary keys (Tom Lane)

This led to mis-labeling of such views' dump archive entries, causing harmless warnings about “archive items not in correct section order”; less harmlessly, selective-restore options depending on those labels, such as --section, might misbehave.

Related records (4)

“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_dump include ALTER INDEX SET STATISTICS commands

Changes

Make pg_dump include ALTER INDEX SET STATISTICS commands (Michael Paquier)

When the ability to attach statistics targets to index expressions was added, we forgot to teach pg_dump about it, so that such settings were lost in dump/reload.

Bug fixesFix pg_dump's dumping of tables that have OIDs

Changes

Fix pg_dump's dumping of tables that have OIDs (Peter Eisentraut)

The WITH OIDS clause was omitted if it needed to be applied to the first table to be dumped.

Bug fixesAvoid null-pointer-dereference crash on some platforms when pg_dump or pg_restore tries to report an error

Changes

Avoid null-pointer-dereference crash on some platforms when pg_dump or pg_restore tries to report an error (Tom Lane)

Related records (4)

“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 false index-corruption reports from contrib/amcheck caused by inline-compressed data

Changes

Prevent false index-corruption reports from contrib/amcheck caused by inline-compressed data (Peter Geoghegan)

ImprovementsProperly disregard SIGPIPE errors if COPY FROM PROGRAM stops reading the program's output early

Changes

Properly disregard SIGPIPE errors if COPY FROM PROGRAM stops reading the program's output early (Tom Lane)

This case isn't actually reachable directly with COPY, but it can happen when using contrib/file_fdw.

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 contrib/hstore to calculate correct hash values for empty hstore values that were created in version 8.4 or before

Changes

Fix contrib/hstore to calculate correct hash values for empty hstore values that were created in version 8.4 or before (Andrew Gierth)

The previous coding did not give the same result as for an empty hstore value created by a newer version, thus potentially causing wrong results in hash joins or hash aggregation. It is advisable to reindex any hash indexes built on hstore columns, if the table might contain data that was originally stored as far back as 8.4 and was never dumped/reloaded since then.

Related records (4)

“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 crashes and excessive runtime with large inputs to contrib/intarray's gist__int_ops index support

Changes

Avoid crashes and excessive runtime with large inputs to contrib/intarray's gist__int_ops index support (Andrew Gierth)

Related records (4)

“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.

ImprovementsIn configure, look for python3 and then python2 if python isn't found

Changes

In configure, look for python3 and then python2 if python isn't found (Peter Eisentraut)

This allows PL/Python to be configured without explicitly specifying PYTHON on platforms that no longer provide an unversioned python executable.

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.

ImprovementsInclude JIT-related headers in the installed set of header files

Changes

Include JIT-related headers in the installed set of header files (Donald Dong)

ImprovementsSupport new Makefile variables PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS in pgxs builds

Changes

Support new Makefile variables PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS in pgxs builds (Christoph Berg)

This simplifies customization of extension build processes.

Related records (4)

“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 Perl-coded build scripts to not assume “.” is in the search path, since recent Perl versions don't include that

Changes

Fix Perl-coded build scripts to not assume “.” is in the search path, since recent Perl versions don't include that (Andrew Dunstan)

Related records (4)

“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 server command-line option parsing problems on OpenBSD

Changes

Fix server command-line option parsing problems on OpenBSD (Tom Lane)

Related records (4)

“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.

ImprovementsRelocate call of set_rel_pathlist_hook so that extensions can use it to supply partial paths for parallel queries

Changes

Relocate call of set_rel_pathlist_hook so that extensions can use it to supply partial paths for parallel queries (KaiGai Kohei)

This is not expected to affect existing use-cases.

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.

ImprovementsUpdate time zone data files to tzdata release 2018i for DST law changes in Kazakhstan, Metlakatla, and Sao Tome and Principe. Kazakhstan's Qyzylorda zone is split in two, creating a new zone Asia/Qostanay, as some areas did not change UTC offset. Historical corrections for Hong Kong and numerous Pacific islands.

Changes

Update time zone data files to tzdata release 2018i for DST law changes in Kazakhstan, Metlakatla, and Sao Tome and Principe. Kazakhstan's Qyzylorda zone is split in two, creating a new zone Asia/Qostanay, as some areas did not change UTC offset. Historical corrections for Hong Kong and numerous Pacific islands.

Related records (4)

“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.