Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
E.17. Release 15.13
Prev UpAppendix E. Release NotesHome Next

E.17. Release 15.13

Release date: 2025-05-08

This release contains a variety of fixes from 15.12. For information about new features in major release 15, seeSection E.30.

E.17.1. Migration to Version 15.13

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

However, if you have any self-referential foreign key constraints on partitioned tables, it may be necessary to recreate those constraints to ensure that they are being enforced correctly. See the second changelog entry below.

Also, if you have any BRIN bloom indexes, it may be advisable to reindex them after updating. See the third changelog entry below.

Also, if you are upgrading from a version earlier than 15.9, seeSection E.21.

E.17.2. Changes

  • Avoid one-byte buffer overread when examining invalidly-encoded strings that are claimed to be in GB18030 encoding (Noah Misch, Andres Freund)§§

    While unlikely, a SIGSEGV crash could occur if an incomplete multibyte character appeared at the end of memory. This was possible both in the server and inlibpq-using applications. (CVE-2025-4207)

  • Handle self-referential foreign keys on partitioned tables correctly (Álvaro Herrera)§

    Creating or attaching partitions failed to make the required catalog entries for a foreign-key constraint, if the table referenced by the constraint was the same partitioned table. This resulted in failure to enforce the constraint fully.

    To fix this, you should drop and recreate any self-referential foreign keys on partitioned tables, if partitions have been created or attached since the constraint was created. Bear in mind that violating rows might already be present, in which case recreating the constraint will fail, and you'll need to fix up those rows before trying again.

  • Avoid data loss when merging compressed BRIN summaries inbrin_bloom_union() (Tomas Vondra)§

    The code failed to account for decompression results not being identical to the input objects, which would result in failure to add some of the data to the merged summary, leading to missed rows in index searches.

    This mistake was present back to v14 where BRIN bloom indexes were introduced, but this code path was only rarely reached then. It's substantially more likely to be hit in v17 because parallel index builds now use the code.

  • Fix unexpectedattribute has wrong type errors inUPDATE,DELETE, andMERGE queries that use whole-row table references to views or functions inFROM (Tom Lane)§§§

  • FixMERGE into a partitioned table withDO NOTHING actions (Tender Wang)§

    Some cases failed withunknown action in MERGE WHEN clause errors.

  • Prevent failure inINSERT commands when the table has aGENERATED column of a domain data type and the domain's constraints disallow null values (Jian He)§

    Constraint failure was reported even if the generation expression produced a perfectly okay result.

  • Correctly process references to outer CTE names that appear within aWITH clause attached to anINSERT/UPDATE/DELETE/MERGE command that's insideWITH (Tom Lane)§

    The parser failed to detect disallowed recursion cases, nor did it account for such references when sorting CTEs into a usable order.

  • FixARRAY(subquery) andARRAY[expression, ...] constructs to produce sane results when the input is of typeint2vector oroidvector (Tom Lane)§

    This patch restores the behavior that existed beforePostgreSQL 9.5: the result is of typeint2vector[] oroidvector[].

  • Fix possible erroneous reports of invalid affixes while parsingIspell dictionaries (Jacob Brazeal)§

  • FixALTER TABLE ADD COLUMN to correctly handle the case of a domain type that has a default (Jian He, Tom Lane, Tender Wang)§§

    If a domain type has a default, adding a column of that type (without any explicitDEFAULT clause) failed to install the domain's default value in existing rows, instead leaving the new column null.

  • Repair misbehavior when there are duplicate column names in a foreign key constraint'sON DELETE SET DEFAULT orSET NULL action (Tom Lane)§

  • Improve the error message for disallowed attempts to alter the properties of a foreign key constraint (Álvaro Herrera)§

  • Avoid error when resetting therelhassubclass flag of a temporary table that's markedON COMMIT DELETE ROWS (Noah Misch)§

  • Fix planner's failure to identify more than one hashable ScalarArrayOpExpr subexpression within a top-level expression (David Geier)§

    This resulted in unnecessarily-inefficient execution of any additional subexpressions that could have been processed with a hash table (that is,IN,NOT IN, or= ANY clauses with all-constant right-hand sides).

  • Disableskip fetch optimization in bitmap heap scan (Matthias van de Meent)§

    It turns out that this optimization can result in returning dead tuples when a concurrent vacuum marks a page all-visible.

  • Fix performance issues in GIN index search startup when there are many search keys (Tom Lane, Vinod Sridharan)§§

    An indexable clause with many keys (for example,jsonbcol ?| array[...] with tens of thousands of array elements) took O(N2) time to start up, and was uncancelable for that interval too.

  • Detect missing support procedures in a BRIN index operator class, and report an error instead of crashing (Álvaro Herrera)§

  • Respond to interrupts (such as query cancel) while waiting for asynchronous subplans of an Append plan node (Heikki Linnakangas)§

    Previously, nothing would happen until one of the subplans becomes ready.

  • Fix race condition in handling ofsynchronous_standby_names immediately after startup (Melnikov Maksim, Michael Paquier)§

    For a short period after system startup, backends might fail to wait for synchronous commit even thoughsynchronous_standby_names is enabled.

  • Fixpg_strtof() to not crash with null endptr (Alexander Lakhin, Tom Lane)§

  • Avoid crash when a Snowball stemmer encounters an out-of-memory condition (Maksim Korotkov)§

  • Prevent over-advancement of catalog xmin infast forward mode of logical decoding (Zhijie Hou)§

    This mistake could allow deleted catalog entries to be vacuumed away even though they were still potentially needed by the WAL-reading process.

  • Avoid data loss when DDL operations that don't take a strong lock affect tables that are being logically replicated (Shlok Kyal, Hayato Kuroda)§§

    The catalog changes caused by the DDL command were not reflected into WAL-decoding processes, allowing them to decode subsequent changes using stale catalog data, probably resulting in data corruption.

  • Avoid duplicate snapshot creation in logical replication index lookups (Heikki Linnakangas)§§

  • Fix wrong checkpoint details in error message about incorrect recovery timeline choice (David Steele)§

    If the requested recovery timeline is not reachable, the reported checkpoint and timeline should be the values read from the backup_label, if there is one. This message previously reported values from the control file, which is correct when recovering from the control file without a backup_label, but not when there is a backup_label.

  • Fix assertion failure in snapshot building (Masahiko Sawada)§

  • Remove incorrect assertion inpgstat_report_stat() (Michael Paquier)§

  • Fix overly-strict assertion ingistFindCorrectParent() (Heikki Linnakangas)§

  • Fix rare assertion failure in standby servers when the primary is restarted (Heikki Linnakangas)§

  • In PL/pgSQL, avoidunexpected plan node type error when a scrollable cursor is defined on a simpleSELECTexpression query (Andrei Lepikhov)§

  • Don't try to drop individual index partitions inpg_dump's--clean mode (Jian He)§

    The server rejects suchDROP commands. That has no real consequences, since the partitions will go away anyway in the subsequentDROPs of either their parent tables or their partitioned index. However, the error reported for the attempted drop causes problems when restoring in--single-transaction mode.

  • Inpg_dumpall, avoid emitting invalid roleGRANT commands ifpg_auth_members contains invalid role OIDs (Tom Lane)§

    Instead, print a warning and skip the entry. This copes better with catalog corruption that has been seen to occur in back branches as a result of race conditions betweenGRANT andDROP ROLE.

  • Inpg_amcheck andpg_upgrade, use the correct function to free allocations made bylibpq (Michael Paquier, Ranier Vilela)§

    These oversights could result in crashes in certain Windows build configurations, such as a debug build oflibpq used by a non-debug build of the calling application.

  • Allowcontrib/dblink queries to be interrupted by query cancel (Noah Misch)§§

    This change back-patches a v17-era fix. It prevents possible hangs inCREATE DATABASE andDROP DATABASE due to failure to detect deadlocks.

  • Avoid crashing with corrupt input data incontrib/pageinspect'sheap_page_items() (Dmitry Kovalenko)§

  • Prevent assertion failure incontrib/pg_freespacemap'spg_freespacemap() (Tender Wang)§

    Applyingpg_freespacemap() to a relation lacking storage (such as a view) caused an assertion failure, although there was no ill effect in non-assert builds. Add an error check to reject that case.

  • Fix build failure on macOS 15.4 (Tom Lane, Peter Eisentraut)§

    This macOS update broke our configuration probe forstrchrnul().

  • Update time zone data files totzdata release 2025b for DST law changes in Chile, plus historical corrections for Iran (Tom Lane)§

    There is a new time zone America/Coyhaique for Chile's Aysén Region, to account for it changing to UTC-03 year-round and thus diverging from America/Santiago.


Prev Up Next
E.16. Postgres Pro Standard 15.0.1 Home E.18. Release 15.12
pdfepub
Go to Postgres Pro Standard 15
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp