PostgreSQL 13 Open Items
From PostgreSQL wiki
Jump to navigationJump to searchOpen Issues
NOTE: Please place new open items at the end of the list.
Older bugs affecting stable branches
Live issues
- REINDEX on a system catalog can leave index with two index tuples whose heap TIDs match
- In other words, there is a rare case where the HOT invariant is violated. Same HOT chain is indexed twice due to confusion about which precise heap tuple should be indexed.
- Unclear what the user impact is.
- Affects all stable branches.
- CREATE TABLE .. PARTITION OF fails to preserve tgenabled for inherited row triggers
- tgenabled lost on CREATE PARTITION and on pg_dump, and pg_dump loses comments on child triggers;
- ERROR with FOR UPDATE/SHARE for partitioned table
- Affects v12 and probably v11 (partition pruning)
Fixed issues
- Failures with wal_consistency_checking - SPGist/VACUUM_REDIRECT record
- Fixed at: a44dd932ff3816de7fe0414063cfcc5656117c3a
- pg_dump does not reproduce ALTER ... DEPENDS ON EXTENSION
- Fixed at: 5fc703946bf3b18642ce83b937671d254a8ac5b5
- Still affected in previous versions, but only patched to PG13
- pg_stat_statements doesn't report buffer consumption from parallel utility workers
- Commit: 9da0cc35284bdbe8d442d732963303ff0e0a40bc (parallel btree index build) - Fixed at 5c71362174eb56676f8b91c73ec066dd5513fd4b
- Commit: 40d964ec997f64227bc0ff5e058dc4a5770a70a9 (parallel vacuum) - Fixed at 3a5e22138a8d014590834eb808c99a436c246aab
- Intermittent assertion failure in SyncRepGetSyncStandbysPriority
- Fixed at: f332241a60aa9c0945d74642cb3dbcbc11621154
- DETACH PARTITION and FOR EACH ROW triggers on partitioned tables
- Fixed at: afccd76f1ccef73a341e9b0c6efb29a429f35aa4
- hash node details apparently accessing pfreed allocation
- Commit: 3fc6e2d7f
- Fixed at: 5c27bce7f3, 969f9d0b4
- Fixed in backbranches by: 5c27bce7f et al
- Crash involving logical replication REPLICA IDENTITY FULL and subscribe+publish
- Affects v10-master
- Fixed at: 7ccb2f54d9f3f3c5b4ac092d62c846b02a47f8d5
- segmentation fault using currtid and partitioned tables
- Issue with tableam (since v12)
- Fixed at: e786be5fcb257a09b05bd8e509c8d1b82e626352
Nothing to do
- xid wraparound danger due to INDEX_CLEANUP false.
- Affects v12+
- This bug will not be fixed in v13 or other backbranches.
- Maybe it can be fixed by future work that makes B-Tree page recycling work at the tail end of the same VACUUM operation that initially deletes the pages, but that's out of scope for now.
Non-bugs
Resolved Issues
resolved before 13
- HashAggs-that-spill preallocation subtly broke EXPLAIN ANALYZE "Disk Usage" instrumentation
- The EXPLAIN ANALYZE temp blocks instrumentation is slightly wrong for HashAggs-that-spill -- it doesn't agree with the actual size of temp files due to an issue with the new preallocation logic (external sorts don't preallocate following commit 075896496, and as such are unaffected).
- Original commit: 896ddf9b
- Owner: Jeff Davis
- Fixed at: c8aeaf3ab31edeedf1791e37c74bcedf61a916ed
resolved before 13rc1
- Show extended stats target in psql slash-dee
- Original commit: d06215d03
- Owner: Tomas Vondra
- explain(format text) showing buffers during planning
- Original commit: ce77abe63cfc85fb0bc236deb2cc34ae35cb5324
- Owner: Fujii Masao
- Fixed at: 9d701e624f4b9386cbd99519dab7936afe3d5aed
- HashAggs-that-spill costing seems off in cases where we spill and work_mem is far below the "optimal" amount for the aggregate
- "despite writing about twice as much data, the hashagg cost is estimated to be much lower than the sort".
- This is currently being discussed on a new, dedicated thread.
- At the very low end, the amount of I/O performed by hash aggregate can significantly exceed what we see with the equivalent Group agg + sort.
- Original commit: 1f39bce0
- Fixed at: b61d048e0d480f4311c62bf3026879c83ba9aaad
resolved before 13beta3
- EXPLAIN ANALYZE's non-text output should consistently include all fields for incremental sort, meaning fields "not applicable" to text format output should be shown as 0
- Nothing to do for incremental sort, which at least manages to show EXPLAIN ANALYZE output that's consistent with regular sort nodes.
- Original commit: d2d8a229
- Many users rely on hashagg exceeding work_mem, regardless of whether or not that is the intended behavior in Postgres 12
- When these users don't continue to get fast in-memory hash aggs after an upgrade to Postgres 13, they'll simply conclude that it's a regression.
- Increasing work_mem isn't usually an option, since that affects everything equally.
- We decided to ameliorate problem using the new hash_mem_multiplier GUC, which allows users to preferentially give hash-based executor nodes more memory.
- Hopefully it won't also prove necessary to add an escape hatch. In any case this isn't the final word.
- Owner: Peter Geoghegan
- Fixed at: d6c08e29e7bc8bc3bf49764192c4a9c71fc0b097
- Default setting for hashagg_avoid_disk_plan GUC
- hashagg_avoid_disk_plan GUC preserves the plan time behavior from Postgres 12, but not the execution time behavior.
- We decided to remove the GUC altogether.
- Owner: Peter Geoghegan
- Fixed at: bcbf9446a2983b6452c19cc50050456be262f7c5
- HashAggs-that-spill patch introduced a perf regression affecting classic in-memory HashAggs: LookupTupleHashEntryHash() pipeline stall
- Original commit: 1f39bce0
- Owner: Jeff Davis
- Fixed at: 200f6100a9f9fc71273aeb6aceac4430f3437195
- Output columns shown by new \dAo and \dAp psql commands are arguably confusing, inconsistent
- Original commit: b0b5e20cd8d
- Owner: Alexander Korotkov
- Fixed at: 8d2ed66e4107ef27d05aef682c68af5952af7690
- HashAggs-that-spill patch introduced a perf regression affecting classic in-memory HashAggs: "unnecessary" attributes were removed before spilling, which is pretty much wasted effort when we don't spill
- Original commit: 1f39bce0
- Owner: Jeff Davis
- Fixed at: 2302302236a0c7aeba3377d78dd9d80ba53247df
- Replication slot spill statistics in the wrong place
- Original commit: 9290ad198b1
- Owner: Tomas Vondra, Amit Kapila
- Feature has been reverted
- Fixed/reverted at: d973747281caece520236e93d255c654cc613ec9
- EXPLAIN ANALYZE's non-text output should consistently include all fields for hash aggregate, meaning fields "not applicable" to text format output should be shown as 0
- Owner: David Rowley
- Fixed at: 40efbf8706cdd96e06bc4d1754272e46d9857875
- pg_stat_statements + track_planning performance regression
- Fixed at: d1763ea8c9c32837d373a196ed0c2e1256a55824
- Owner: Fujii Masao
- Review the decision to enable deduplication by default (i.e. use 'on' as the default setting for the 'deduplicate_items' B-Tree storage parameter).
- Commit: 0d861bbb
- Owner: Peter Geoghegan
- The deduplication feature will remain enabled by default.
- explain non-text format should always include all fields, even if zero
- hashagg spill to disk Owner: Jeff Davis
- Commit: d73e9a57bf5bd977d9bf36bc07c77a1acf45e35b
resolved before 13beta2
- Should we rename effective_io_concurrency? It now has a different meaning and you might want to turn it up higher, though the default behaviour hasn't changed.
- Commit: b09ff536
- No one argued strongly in favour of changing it, so let's leave it as it is.
- SIGSEGV from START_REPLICATION 0/XXXXXXX in XLogSendPhysical () at walsender.c:2762
- Commit: 10ffe0fa
- Trouble with hashagg spill I/O pattern and costing
- Fixed at: 896ddf9b3cd7dcf70e43f733ae8fec5dfe6e31af
- Fixed at: 4cad2534da6d17067d98cf04be2dfc1bda8f2cd0
resolved before 13beta1
- 2pc leaks fds
- Commit: 0dc8ead4
- Owner: Alvaro Herrera
- Fixed at 91c40548 and b060dbe000
- Two issues related to slot-invalidation
- Crash on logical-walsender startup after slot invalidation
- Checkpointer missses requests when slot invalidation occurs
- Rework handling of wal_receiver_create_temp_slot to fit with WAL receiver architecture
- Fixed at 092c6936de49e
- Negative cost is seen for plan node: Hash agg spill to disk
- Fixed at: 7351bfeda33b60b69c15791c7eb77a127546df26
- BUG #16346: pg_upgrade fails on a trigger with a comment
- Fixed at: a9d70c108786712a1023c65e360602edf7bafbf4
- pg_basebackup, manifests and backends older than ~12
- Fixed at: 542d7817f774ea9d94798eb95cdf250d4f1527d9
- Vacuum o/p with (full 1, parallel 0) option throwing an error
- Fixed at: 24d2d38b1eb86c0b410ad0f07f66566a83c6f05c
- Rename libpq parameters ssl{min|max}protocolversion to ssl_{min|max}_protocol_version?
- Fixed at: 401aad67045b2d467571b54abe229fdd115a228c
- consistency of explain output: two spaces, equals vs colons, semicolons (WAL)
- Fixed at: 69bfaf2e1de49de76d7dec1c45511932a5ef502b
- consistency of explain output: two spaces, equals vs colons, semicolons (incremental sort)
- Naming issues for wait events, and particularly SLRU caches
- Fixed at: 3048898e73c75f54bb259323382e0e7f6368cb6f and predecessor patches
Won't Fix
Important Dates
Current schedule:
- Feature Freeze: April 7, 2020 (Last Day to Commit Features)
- Beta 1: May 21, 2020
- Beta 2: June 25, 2020
- Beta 3: August 13, 2020
- RC 1: September 17, 2020
- GA: September 24, 2020