diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml index 577a5d7173..68949b2026 100644 --- a/doc/src/sgml/release-12.sgml +++ b/doc/src/sgml/release-12.sgml @@ -46,56 +46,6 @@ Branch: REL_12_STABLE [3b25de620] 2019-10-16 02:38:13 -0700 - - Fix failure of ALTER TABLE SET with a custom - relation option (Michael Paquier) - - - - - - - Disallow changing a multiply-inherited column's type if not all - parent tables were changed (Tom Lane) - - - - Previously, this was allowed, whereupon queries on the - now-out-of-sync parent would fail. - - - - - - - Avoid failure if the same target table is specified twice in - an ANALYZE command inside a transaction block - (Tom Lane) - - - - - - - Fix planner's test for case-foldable characters - in ILIKE with an ICU collation (Tom Lane) - - - - This mistake caused the planner to treat too much of the pattern as - being a fixed prefix, so that indexscans derived from - an ILIKE clause might miss entries that they - should find. - - - - - - - Fix handling of whole-row variables in WITH CHECK - OPTION expressions and row-level-security policy expressions - (Andres Freund) - - - - Previously, such usage might result in bogus errors about row type - mismatches. - - - - - - - Prevent possible double-free if a BEFORE UPDATE - trigger returns the old tuple as-is, and it is not the last such - trigger (Thomas Munro) - - - - - - - Fix crash if x = ANY - (array), or related operations, - contains a constant-null array (Tom Lane) - - - - - - - In serializable mode, ensure that row-level predicate locks are - acquired on the correct version of the row (Thomas Munro, Heikki - Linnakangas) - - - - If the visible version of the row is HOT-updated, the lock might be - taken on its now-dead predecessor, resulting in subtle failures to - guarantee serialization. - - - - - - - Avoid an unnecessary catalog lookup during heap page pruning - (Thomas Munro) - - - - It's no longer necessary to check for unlogged indexes here, and the - check caused significant performance problems in some workloads. - There's also at least a theoretical possibility of deadlock. - - - - - - - Fix failure to JIT-compile equality comparisons for grouping hash - tables, leading to performance loss (Andres Freund) - - - - - + + Fix logical replication failure when publisher and subscriber have + different ideas about a table's replica identity columns + (Jehan-Guillaume de Rorthais, Peter Eisentraut) + + + + Declaring a column as part of the replica identity on the + subscriber, when it does not exist at all on the publisher, led + to negative bitmapset member not allowed errors. + + + + + - - In logical decoding, ensure that sub-transactions are correctly - accounted for when reconstructing a snapshot (Masahiko Sawada) - - - - This error leads to assertion failures; it's unclear whether any - bad effects exist in production builds. - - - - - - - Fix ALTER SYSTEM to cope with duplicate entries - in postgresql.auto.conf (Ian Barwick) - - - - ALTER SYSTEM itself will not generate such a state, - but external tools that modify postgresql.auto.conf - could do so. Duplicate entries for the target variable will now be - removed, and then the new setting (if any) will be appended at the end. - - - - - - - Reject include directives with empty file names in configuration - files, and report include-file recursion more clearly - (Ian Barwick, Tom Lane) - - - - - - - Fix some cases where an incomplete date specification is not - detected in time with time zone input (Alexander Lakhin) - - - - If a time zone is provided, a date must be as well (since the UTC - offset implied by the zone might be time-varying). Depending on the - syntax used, this check was not enforced in all cases. - - - - - - - Restore the ability to take type information from - an AS clause - in json[b]_populate_record() - and json[b]_populate_recordset() - (Tom Lane) - - - - If the record argument is NULL and has no declared composite type, - try to use the AS clause instead. This isn't - recommended usage, but it used to work, and now does again. - - - - - - - Avoid crash when selecting a namespace node - in XMLTABLE (Chapman Flack) - - - - - Fix detection of edge-case integer overflow in interval @@ -938,22 +660,6 @@ Branch: REL9_4_STABLE [8d380864a] 2019-11-07 11:23:06 -0500 - - Fix memory leaks - in lower(), upper(), - and initcap() functions when using ICU - collations (Konstantin Knizhnik) - - - - - - - Fix incorrect compression logic for GIN posting lists - (Heikki Linnakangas) - - - - A GIN posting list item can require 7 bytes if the distance between - adjacent indexed TIDs exceeds 16TB. One step in the logic was out - of sync with that, and might try to write the value into a 6-byte - buffer. In principle this could cause a stack overrun, but on most - architectures it's likely that the next byte would be unused - alignment padding, making the bug harmless. In any case the bug - would be very difficult to hit. - - - - - - - Fix handling of infinity, NaN, and NULL values in KNN-GiST - (Alexander Korotkov) - - - - The query's output order could be wrong (different from a plain - sort's result) if some distances computed for non-null column values - are infinity or NaN. - - - - - - - Fix handling of searches for NULL in KNN-SP-GiST (Nikita Glukhov) - - - - - - - In psql, resynchronize internal state - about the server after an unexpected connection loss and successful - reconnection (Peter Billen, Tom Lane) - - - - Ordinarily this is unnecessary since the state would be the same - anyway. But it can matter in corner cases, such as where the - connection might lead to one of several servers. This change - causes psql to re-issue any interactive - messages that it would have issued at startup, for example about - whether SSL is in use. - - - - - - - Avoid platform-specific null pointer dereference - in psql (Quentin Rameau) - - - - - - - Fix pg_dump's handling of circular - dependencies in views (Tom Lane) - - - - In some cases a view may depend on an object - that pg_dump needs to dump later than the - view; the most common example is that a query using GROUP - BY on a primary-key column may be semantically invalid - without the primary key. This is now handled by emitting a - dummy CREATE VIEW command that just establishes - the view's column names and types, and then later - emitting CREATE OR REPLACE VIEW with the full - view definition. Previously, the dummy definition was actually - a CREATE TABLE command, and this was - automagically converted to a view by a later CREATE - RULE command. The new approach has been used successfully - in PostgreSQL version 10 and later. We - are back-patching it into older releases now because of reports that - the previous method causes bogus error messages about the view's - replica identity status. This change also avoids problems when - trying to use the option during a restore - involving such a view. - - - - - - - Fix pg_dump to again work with pre-8.3 - source servers (Tom Lane) - - - - A previous fix caused pg_dump to always - try to query pg_opfamily, but that catalog - doesn't exist before 8.3. - - - - - - - In pg_restore, treat - as meaning output to stdout - (Álvaro Herrera) - - - - This synchronizes pg_restore's behavior - with some other applications, and in particular makes pre-v12 branches - act similarly to v12's pg_restore, - simplifying creation of dump/restore scripts that work across - multiple PostgreSQL versions. Before this - change, pg_restore interpreted such a - switch as meaning output to a file - named -, but few people would want that. + than sorting them by table name. Likewise for RLS policies. @@ -1319,7 +818,7 @@ Branch: REL_12_STABLE [702fd3b71] 2019-10-15 00:35:51 +0200 In pg_upgrade, reject tables with columns of type sql_identifier, as that has changed - representation in v12 (Tomas Vondra) + representation in version 12 (Tomas Vondra) @@ -1350,42 +849,7 @@ Branch: REL_10_STABLE [e86ece221] 2019-10-16 13:26:56 +0200 The previous coding could be fooled by cases where the data type of - interest underlies a domain or composite type. - - - - - - - Detect file read errors - during pg_basebackup (Jeevan Chalke) - - - - - - - In pg_basebackup, don't fsync output files - until the end of backup (Michael Paquier) - - - - The previous coding could result in timeout failures if fsync was slow. + interest underlies a stored column of a domain or composite type. @@ -1410,23 +874,6 @@ Branch: REL_12_STABLE [c2e3b311d] 2019-10-04 09:16:03 +0900 - - In pg_rewind with an online source - cluster, disable timeouts, much - as pg_dump does (Alexander Kukushkin) - - - - - - - In pg_waldump, - include the newitemoff field in btree page split - records (Peter Geoghegan) - - - - - - - Fix vacuumdb with a - high option to handle running out of file - descriptors better (Michael Paquier) - - - - - - - Fix PL/pgSQL to handle replacements of composite types better - (Tom Lane) - - - - Cover the case where a composite type is dropped entirely, and - then a new type of the same name is created, between executions - of a PL/pgSQL function. Variables of the composite type will now - update to match the new definition. - - - - - - - Fix contrib/amcheck to skip unlogged indexes - during hot standby (Andrey Borodin, Peter Geoghegan) - - - - An unlogged index won't necessarily contain valid data in this - context, so don't try to check it. - - - - - - - Fix contrib/intarray's GiST opclasses to not - fail for empty arrays with <@ (Tom Lane) - - - - A clause like array_column - <@ constant_array is - considered indexable, but the index search may not find index - entries for empty arrays in the array column; of course, such - entries should trivially match the search. - - - - The only practical back-patchable fix for this requires - making <@ index searches scan the whole index, - which is what this patch does. This is unfortunate: it means that - the query performance is likely worse than a plain sequential scan - would be. - - - - Applications whose performance is adversely impacted by this change - have a couple of options. They could switch to a GIN index, which - doesn't have this bug, or they could replace - array_column - <@ constant_array - with array_column - <@ constant_array - AND array_column - && constant_array. - That will provide about the same performance as before, and it will - find all non-empty subsets of the given constant array, which is all - that could reliably be expected of the query before. - - - - - - - Allow configure --with-python to succeed when - only python3 or - only python2 can be found (Peter Eisentraut, - Tom Lane) - - - - Search for python, - then python3, - then python2, so - that configure will succeed in the - increasingly more common situation where no executable named - simply python exists. It's still possible to - override the choice by setting the PYTHON environment - variable. - - - - - - - On PowerPC, avoid depending on the xlc - compiler's __fetch_and_add() function - (Noah Misch) - - - - xlc 13 and newer interpret this function in a way incompatible with - our usage, resulting in an unusable build - of PostgreSQL. Fix by using custom - assembly code instead. + trying to build modified PostgreSQL code + or use atypical compiler options. @@ -1765,26 +1035,6 @@ Branch: REL9_4_STABLE [8f8809091] 2019-10-04 15:38:36 -0400 - - - - Update time zone data files to tzdata - release 2019c for DST law changes in Fiji and Norfolk Island, plus - historical corrections for Alberta, Austria, Belgium, British - Columbia, Cambodia, Hong Kong, Indiana (Perry County), Kaliningrad, - Kentucky, Michigan, Norfolk Island, South Korea, and Turkey. - - -