PostgreSQL 13 Open Items

== Open 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;
* memory leak with JIT inlining
* 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: 
* pg_dump does not reproduce ALTER ... DEPENDS ON EXTENSION
** Fixed at: 
** Still affected in previous versions, but only patched to PG13
* pg_stat_statements doesn't report buffer consumption from parallel utility workers
** Commit: (parallel btree index build) - Fixed at 5c71362174eb56676f8b91c73ec066dd5513fd4b
** Commit: (parallel vacuum) - Fixed at 3a5e22138a8d014590834eb808c99a436c246aab
* Intermittent assertion failure in SyncRepGetSyncStandbysPriority
** Fixed at: 
* DETACH PARTITION and FOR EACH ROW triggers on partitioned tables
** Fixed at: 
* hash node details apparently accessing pfreed allocation
** Commit: 
** Fixed at: , 
** Fixed in backbranches by: et al
* Crash involving logical replication REPLICA IDENTITY FULL and subscribe+publish
** Affects v10-master
** Fixed at: 
* segmentation fault using currtid and partitioned tables
** Issue with tableam (since v12)
** Fixed at: 
=== Nothing to do ===
* Initiating Physical Replication on a Logical Replication Session
* 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 , and as such are unaffected).
** Original commit: 
** Owner: Jeff Davis
** Fixed at: 
=== resolved before 13rc1 ===
* Show extended stats target in psql slash-dee
** Original commit: 
** Owner: Tomas Vondra
* explain(format text) showing buffers during planning
** Original commit: 
** Owner: Fujii Masao
** Fixed at: 
* 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: 
** Fixed at: 
* v13: CLUSTER assertion with wal_level=minimal and parallel index creation
** Original commit: 
** Fixed at: 
=== 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: 
* 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: 
* 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: 
* HashAggs-that-spill patch introduced a perf regression affecting classic in-memory HashAggs: LookupTupleHashEntryHash() pipeline stall
** Original commit: 
** Owner: Jeff Davis
** Fixed at: 
* Output columns shown by new \dAo and \dAp psql commands are arguably confusing, inconsistent
** Original commit: 
** Owner: Alexander Korotkov
** Fixed at: 
* 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: 
** Owner: Jeff Davis
** Fixed at: 
* Replication slot spill statistics in the wrong place
** Original commit: 
** Owner: Tomas Vondra, Amit Kapila
** Feature has been reverted
** Fixed/reverted at: 
* 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: 
* min_safe_lsn column in pg_replication_slots view
** Fixed at: 
* pg_stat_statements + track_planning performance regression
** Fixed at: 
** 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: 
** Owner: Peter Geoghegan
** The deduplication feature will remain enabled by default.
* rethink libpq's default min SSL version
** Commit: 
* Review for GetWALAvailability()
** Commit: 
* Assertion failure in pg_copy_logical_replication_slot()
** Commit: 
* explain non-text format should always include all fields, even if zero
** hashagg spill to disk Owner: Jeff Davis
** Commit: 
* Should pg_stat_activity.leader_pid be NULL for leaders themselves?
** Commit: 
* EXPLAIN ANALYZE output for HashAgg could be better aligned to Hash Join's output
** Commit: 
* Incremental sort code uses long datatype for instrumentation for disk usage. sizeof(long) == 4 on windows 64-bit, i.e not big enough
** Commit: 
=== 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: 
** 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: 
* Moving fe_archive.c to src/fe_utils/
** Commit: 
* Trouble with hashagg spill I/O pattern and costing
** Fixed at: 
** Fixed at: 
* Possible regression with FORTIFY_SOURCE
** Fixed at: 
* GUC naming
** Fixed at: 
* Global barrier w/disable atomics leads to spinlock use in signal handlers
** Commit: 
* Missing EXPLAIN ANALYZE properties for parallel HashAgg plans
** Commit: 
=== resolved before 13beta1 ===
* 2pc leaks fds
** Commit: 
** Owner: Alvaro Herrera
** Fixed at and 
* Two issues related to slot-invalidation 
** Crash on logical-walsender startup after slot invalidation
*** Fixed at 
** Checkpointer missses requests when slot invalidation occurs
*** Fixed at 
* "backend type in log_line_prefix": Update file_fdw
** Fixed at 
* Rework handling of wal_receiver_create_temp_slot to fit with WAL receiver architecture
** Fixed at 
* Negative cost is seen for plan node: Hash agg spill to disk
** Fixed at: 
* control max length of parameter values logged
** Fixed at 
* BUG #16346: pg_upgrade fails on a trigger with a comment
** Fixed at: 
* Tweak memory accounting for Hash Aggregation
** Fixed at: 
* pg_basebackup, manifests and backends older than ~12
** Fixed at: 
* Vacuum o/p with (full 1, parallel 0) option throwing an error
** Fixed at: 
* sqlsmith crash incremental sort
** Fixed at: 
* Rename libpq parameters ssl{min|max}protocolversion to ssl_{min|max}_protocol_version?
** Fixed at: 
 
* consistency of explain output: two spaces, equals vs colons, semicolons (WAL)
** Fixed at: 
* Incremental sorts and EXEC_FLAG_REWIND
** Fixed at: 
* consistency of explain output: two spaces, equals vs colons, semicolons (incremental sort)
** incremental sort
** Fixed at: 
* Naming issue with client-side sslpassword hook
** Fixed at: 
* Naming issues for wait events, and particularly SLRU caches
** Fixed at: and predecessor patches
* pg_stat_wal_receiver and flushedUpto/writtenUpto
** Fixed at: 
== 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
Category:Open_Items