Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
E.42. Release 13.6
Prev UpAppendix E. Release NotesHome Next

E.42. Release 13.6

Release date: 2022-02-10

This release contains a variety of fixes from 13.5. For information about new features in major release 13, seeSection E.48.

E.42.1. Migration to Version 13.6

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

However, if you have appliedREINDEX CONCURRENTLY to a TOAST table's index, or observe failures to access TOAST datums, see the first changelog entry below.

Also, if you are upgrading from a version earlier than 13.5, seeSection E.43.

E.42.2. Changes

  • Enforce standard locking protocol for TOAST table updates, to prevent problems withREINDEX CONCURRENTLY (Michael Paquier)§

    If applied to a TOAST table or TOAST table's index,REINDEX CONCURRENTLY tended to produce a corrupted index. This happened because sessions updating TOAST entries released theirROW EXCLUSIVE locks immediately, rather than holding them until transaction commit as all other updates do. The fix is to make TOAST updates hold the table lock according to the normal rule. Any existing corrupted indexes can be repaired by reindexing again.

  • Avoid null-pointer crash inALTER STATISTICS when the statistics object is dropped concurrently (Tomas Vondra)§

  • Fix incorrect plan creation for parallel single-child Append nodes (David Rowley)§

    In some cases the Append would be simplified away when it should not be, leading to wrong query results (duplicated rows).

  • Fix index-only scan plans for cases where not all index columns can be returned (Tom Lane)§§

    If an index has both returnable and non-returnable columns, and one of the non-returnable columns is an expression using a table column that appears in a returnable index column, then a query using that expression could result in an index-only scan plan that attempts to read the non-returnable column, instead of recomputing the expression from the returnable column as intended. The non-returnable column would read as NULL, resulting in wrong query results.

  • Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call (Tom Lane)§

    While the coercion function should do the right thing (nothing), this translation is undesirably inefficient.

  • Fix checking ofanycompatible-family data type matches (Tom Lane)§

    In some cases the parser would think that a function or operator withanycompatible-family polymorphic parameters matches a set of arguments that it really shouldn't match. In reported cases, that led to matching more than one operator to a call, leading to ambiguous-operator errors; but a failure later on is also possible.

  • Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary (Álvaro Herrera)§

  • Fix startup of a physical replica to tolerate transaction ID wraparound (Abhijit Menon-Sen, Tomas Vondra)§

    If a replica server is started while the set of active transactions on the primary crosses a wraparound boundary (so that there are some newer transactions with smaller XIDs than older ones), the replica would fail without-of-order XID insertion in KnownAssignedXids. The replica would retry, but could never get past that error.

  • In logical replication, avoid double transmission of a child table's data (Hou Zhijie)§

    If a publication includes both child and parent tables, and has thepublish_via_partition_root option set, subscribers uselessly initiated synchronization on both child and parent tables. Ensure that only the parent table is synchronized in such cases.

  • Remove lexical limitations for SQL commands issued on a logical replication connection (Tom Lane)§§

    The walsender process would fail for a SQL command containing an unquoted semicolon, or with dollar-quoted literals containing odd numbers of single or double quote marks, or when the SQL command starts with a comment. Moreover, faulty error recovery could lead to unexpected errors in later commands too.

  • Fix possible loss of the commit timestamp for the last subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)§

  • Be sure tofsync thepg_logical/mappings subdirectory during checkpoints (Nathan Bossart)§

    On some filesystems this oversight could lead to losing logical rewrite status files after a system crash.

  • Build extended statistics for partitioned tables (Justin Pryzby)§

    A previous bug fix disabled building of extended statistics for old-style inheritance trees, but it also prevented building them for partitioned tables, which was an unnecessary restriction. This change allowsANALYZE to compute values for statistics objects for partitioned tables. (But note that autovacuum does not process partitioned tables as such, so you must periodically issue manualANALYZE on the partitioned table if you want to maintain such statistics.)

  • Ignore extended statistics for inheritance trees (Justin Pryzby)§

    Currently, extended statistics values are only computed locally for each table, not for entire inheritance trees. However the values were mistakenly consulted when planning queries across inheritance trees, possibly resulting in worse-than-default estimates.

  • Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere (Tom Lane)§

    This restriction has long existed for regular tables, but through an oversight it was not checked for partitioned tables.

  • DisallowALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index (Haiying Tang, Hou Zhijie)§

    The same prohibition already existed for primary key indexes.

  • Correctly update cached table state duringALTER TABLE ADD PRIMARY KEY USING INDEX (Hou Zhijie)§

    Concurrent sessions failed to update their opinion of whether the table has a primary key, possibly causing incorrect logical replication behavior.

  • Correctly update cached table state when switchingREPLICA IDENTITY index (Tang Haiying, Hou Zhijie)§

    Concurrent sessions failed to update their opinion of which index is the replica identity one, possibly causing incorrect logical replication behavior.

  • Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin (Masahiko Sawada)§

    Non-parallelized instances of these operations were already ignored, but the logic did not work for parallelized cases. Holding back the xmin horizon has undesirable effects such as delaying vacuum cleanup.

  • Avoid leaking memory duringREASSIGN OWNED BY operations that reassign ownership of many objects (Justin Pryzby)§

  • Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses (Hou Zhijie)§

  • Fix display ofcert authentication method's options inpg_hba_file_rules view (Magnus Hagander)§

    Thecert authentication method impliesclientcert=verify-full, but thepg_hba_file_rules view incorrectly reportedclientcert=verify-ca.

  • Fix display of whole-row variables appearing inINSERT ... VALUES rules (Tom Lane)§

    A whole-row variable would be printed asvar.*, but that allows it to be expanded to individual columns when the rule is reloaded, resulting in different semantics. Attach an explicit cast to prevent that, as we do elsewhere.

  • Fix one-byte buffer overrun when applying Unicode string normalization to an empty string (Michael Paquier)§

    The practical impact of this is limited thanks to alignment considerations; but in debug builds, a warning was raised.

  • Fix or remove some incorrect assertions (Simon Riggs, Michael Paquier, Alexander Lakhin)§§§

    These errors should affect only debug builds, not production.

  • Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use oflibpq orecpglib (Tom Lane)§

  • Avoid callingstrerror fromlibpq'sPQcancel function (Tom Lane)§

    PQcancel is supposed to be safe to call from a signal handler, butstrerror is not safe. The faulty usage only occurred in the unlikely event of failure to send the cancel message to the server, perhaps explaining the lack of reports.

  • Makepsql's\password command default to setting the password forCURRENT_USER, not the connection's original user name (Tom Lane)§

    This agrees with the documented behavior, and avoids probable permissions failure ifSET ROLE orSET SESSION AUTHORIZATION has been done since the session began. To prevent confusion, the role name to be acted on is now included in the password prompt.

  • Fixpsql\d command's query for identifying parent triggers (Justin Pryzby)§

    The previous coding failed withmore than one row returned by a subquery used as an expression if a partition had triggers and there were unrelated statement-level triggers of the same name on some parent partitioned table.

  • Fixpsql's tab-completion of label values for enum types (Tom Lane)§

  • Inpsql and some other client programs, avoid trying to invokegettext() from a control-C signal handler (Tom Lane)§

    While no reported failures have been traced to this mistake, it seems highly unlikely to be a safe thing to do.

  • Allow canceling the initial password prompt inpg_receivewal andpg_recvlogical (Tom Lane, Nathan Bossart)§

    Previously it was impossible to terminate these programs via control-C while they were prompting for a password.

  • Fixpg_dump's dump ordering for user-defined casts (Tom Lane)§

    In rare cases, the output script might refer to a user-defined cast before it had been created.

  • Fixpg_dump's--inserts and--column-inserts modes to handle tables containing both generated columns and dropped columns (Tom Lane)§§

  • Fix possible mis-reporting of errors inpg_dump andpg_basebackup (Tom Lane)§§

    The previous code failed to check for errors from some kernel calls, and could report the wrong errno values in other cases.

  • Fix results of index-only scans oncontrib/btree_gist indexes onchar(N) columns (Tom Lane)§

    Index-only scans returned column values with trailing spaces removed, which is not the expected behavior. That happened because that's how the data was stored in the index. This fix changes the code to storechar(N) values with the expected amount of space padding. The behavior of such an index will not change immediately unless youREINDEX it; otherwise space-stripped values will be gradually replaced over time during updates. Queries that do not use index-only scan plans will be unaffected in any case.

  • Changeconfigure to use Python'ssysconfig module, rather than the deprecateddistutils module, to determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres Freund)§

    With Python 3.10, this avoidsconfigure-time warnings aboutdistutils being deprecated and scheduled for removal in Python 3.12. Presumably, once 3.12 is out,configure --with-python would fail altogether. This future-proofing does come at a cost:sysconfig did not exist before Python 2.7, nor before 3.2 in the Python 3 branch, so it is no longer possible to build PL/Python against long-dead Python versions.

  • Fix PL/Perl compile failure on Windows with Perl 5.28 and later (Victor Wagner)§

  • Fix PL/Python compile failure with Python 3.11 and later (Peter Eisentraut)§

  • Add support for building with Visual Studio 2022 (Hans Buschmann)§

  • Allow the.bat wrapper scripts in our MSVC build system to be called without first changing into their directory (Anton Voloshin, Andrew Dunstan)§§


Prev Up Next
E.41. Release 13.7 Home E.43. Release 13.5
pdfepub
Go to Postgres Pro Standard 13
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp