PostgreSQL 12 Open Items

== Open Issues ==
NOTE: Please add new open items to the bottom of the list.
* Should we change jsonpath to avoid using standard syntax for not-quite-standard features?
** Additional discussion here
* After recovery starting when backup_label exists, but not recovery.signal shuts down, the restarted recovery doesn't enter an archive recovery mode and may fail.
* Interaction of recovery target options with recovery.signal/standby.signal does not match documentation and includes some surprising behaviors.
== Older Bugs ==
=== Live issues ===
* ATPostAlterTypeCleanup causes child indexes to be recreated with wrong relfilenode
** Crash/data corruption is fixed by 
** There's more to be done here, but it's not clear whether additional work is small enough to be in-scope for v11 or v12
* parallel queries failed ERROR: invalid name syntax CONTEXT: parallel worker
* BUG #15746: cache lookup failed for function in plpgsql block
** This was already fixed in HEAD/v12 by a part of 
** Issue is whether it's worth the risk to back-patch unproven code
* Change resowner cleanup order for Windows?
* B-Tree Page can become unrecyclable due to PageDeleteXid wraparound
** This was fixed in the new GiST page deletion by , but the same issue remains in B-tree.
* Undesirable PANIC on snapshot file open failure
* v10: memory leak in reorderbuffer having large changes
=== Fixed issues ===
* getting ERROR "relation 16401 has no triggers" with partition foreign key alter
** Fixed in: 
* pg_upgrade from 10-or-earlier: TRAP: FailedAssertion(»!(metad->btm_version >= 3)
** Fixed in: 
* Bypass processing of wraparound autovacuums not marked as aggressive
** Problem exists since the point where aggressive vacuums have been introduced, v12 has only added extra logs to look after the impossible case of wraparound autovacuums not aggressive.
** Fixed in: 
* An insert destined at partition created after a column has been dropped from the parent table fails
** Fixed in: 
* RelationData.rd_partcheck should get its own memory context
** Fixed in: 
* Walsender process crashing when executing SHOW ALL
** Fixed in: 
* Possible to store invalid SCRAM-SHA-256 Passwords
** Fixed in: 
* BUG #15781: subselect on foreign table (postgres_fdw) can crash
** Fixed in: 
* selecting from partition directly can't use constraint exclusion
** Fixed in: 
* REINDEX INDEX on an index of pg_class can fail
** Fixed in: 
* Partition pruning is broken for stable WHERE conditions
** Fixed in: and predecessor commits
* Statistical aggregate functions are not working with partitionwise aggregate
** Fixed in: 
* Race conditions with checkpointer and shutdown
** Fixed in 
** Back-patched to v10; back-patching further is unattractive from both risk and work-required standpoints
* Statistics with inheritance cause ANALYZE failures
** test case
** Fixed in 
* Change semantics of log_statement_sample_rate?
** Fixed in 
* REL_12_STABLE crashing with assertion failure in ExtractReplicaIdentity
** The report mentions REL_12_STABLE, but it's a pre-existing issue just made visible by new checks. Nonetheless, it's not clear that there are real consequences beyond the assertion failure, so no change in prior branches.
** Fixed in 
=== Nothing to do ===
* toast_tuple_target reloption doesn't work as expected
** The consensus would be to increase the upper boundary of toast_tuple_target, but this means potentially breaking a category of dumps.
== Non-bugs ==
* vacuumdb and new VACUUM options
== Resolved Issues ==
=== resolved before 12rc1 ===
* ECPG DECLARE STATEMENT definitional and quality-of-implementation concerns
** Reverted by 
* ecpglib major version change
** Reverted by 
* Leakproofness of texteq()/textne()
** Fixed in 
* Nondeterministic collations break text_pattern_ops
** Fixed in 
=== resolved before 12beta4 ===
* EvalPlanQual crash due to wrong slot tupdesc
** Commit Author: Andres Freund
** Fixed in 
* BUG #15977: Inconsistent behavior in chained transactions
** behavior of AND CHAIN on implicit transactions is not consistent
** Commit Author: Peter Eisentraut
** fix ready, consisting in disabling chaining when in an implicit transaction
** Fixed in 
* Debate INFO messages in ATTACH PARTITION and SET NOT NULL
** Proposed patch is in thread Change ereport level for QueuePartitionConstraintValidation
** Fixed in 
* Images in documentation don't work in VPATH
** Fixed in 
* default_table_access_method is not in sample config file
** 
* postgresql.auto.conf file with duplicate entries not handled properly
** Code fix committed at 
** Doc fix committed at 
=== resolved before 12beta3 ===
* Hash join explain can fail with "bogus varno: 65000"
** Commit Author: Andres Freund
** Fixed in: 
* Wrong-slot-type assertion failure
** Commit Author: Andres Freund
** Fixed in: 
* virtual tuple table slot does not have system attributes
** Commit Author: Andres Freund
** Fixed in: 
* Adversarial/pathological case for new nbtree split point choice logic
** Commit Author: Peter Geoghegan
** Fixed in: 
* Add vacuum_index_cleanup for toast relations?
** Commit: , Author: Masahiko Sawada, Owner: Robert Haas
** Fixed in: 
* check_recovery_target_lsn() does a PG_CATCH without a throw
** Commit Author: Peter Eisentraut
** Fixed in: 
* psql error messages are now too verbose
** Commit Author: Peter Eisentraut
** Fixed in: 
* BulkInsertStates and copy.c with partitioned tables
** Fixed in: 
* Crash in mcv_get_match_bitmap with sqlsmith
** Fixed in: 
* GiST Page can become unrecyclable due to PageDeleteXid wraparound
** Commit Author: Heikki Linnakangas
** Fixed in: 
* REINDEX CONCURRENTLY causes ALTER TABLE to fail
** Fixed in: 
* Progress reporting of REINDEX, CREATE TABLE and CLUSTER ignore each other
** A progress may be started while another one is already in progress. Hence, if progress gets stopped the previously-started state is removed, causing all follow-up updates to not happen.
** Progress updates happening in a code path shared between those three commands may clobber a previous state present. 
** Fixed in: 
=== resolved before 12beta2 ===
* CREATE TABLE .. PARTITION OF doesn't respect default_tablespace
** Fixed in: 
* with oids option not removed in pg_dumpall
** Commit 
** Fixed in: 
* pg_dump throwing "column number -1 is out of range 0..36" on HEAD
** Fixed in: 
* ddl.sgml still says foreign keys can't point to partitioned tables
** Commit Author: Alvaro Herrera
** Fixed in: 
* psql completion bugs with access methods
** Fixed in: 
* COPY into a partitioned table breaks its indexes
** Fixed in: 
* be-gssapi-common.h not in correct location
** Fixed in: 
* pg_basebackup failure after setting default_table_access_method option
** Fixed in: 
* Inconsistency between table am callback and table function names
** many commits, Author: Andres Freund
** Fixed in: 
* Documents don't warn about using too many partitions
** Fixed in: 
* Multivariate MCV stats can leak data to unprivileged users
** Fixed by et seq
* \connect uses the same IP as the existing connection, docs no longer match behavior, etc.
** Commit Author: Fabien Coelho
** Fixed by 
=== resolved before 12beta1 ===
* Segfault when restoring -Fd dump on current HEAD
** Fixed in 
* pg_dump is broken for partition tablespaces
** Fixed in commits: 
** and 
* PANIC: cannot abort transaction XXX, it was already committed
** One issue fixed in: 
** Another issue fixed in: 
* remove \cset from pgbench
** Fixed in: 
* pg_partition_root crashes when using top-most parent in input
** Fixed in: 
* Server crash in transformPartitionRangeBounds
** Fixed in: 
* Misleading errors with column references in default expressions and partition bounds
** Fixed in: 
* Planner's partitionwise-join code crashes under GEQO
** Fixed in: 
* Inadequate index locking causes Assert failure
** Fixed in: 
* Inlining of nested CTEs with recursive terms
** Fixed in: 
* Indexes part of a partition tree cannot be run with REINDEX CONCURRENTLY
** Fixed in: 
* Keep track of checksum failures in shared object, last failure time and pg_stat_checkums view
** Commit: , Author: Magnus Hagander, Owner: Magnus Hagander
** Fixed in: 
* Partition tuple routing code does not always call EndForeignInsert
** Commit: , Author: David Rowley, Amit Langote and Álvaro Herrera: Owner: Álvaro Herrera
** Fixed in: 
* COLLATE: Hash partition vs UPDATE
** Fixed in: 
* Consider invalid indexes for REINDEX INDEX CONCURRENTLY?
** Fixed in: 
* ExecForceStoreMinimalTuple leaks memory like there's no tomorrow
** Commit: , Author: Andres Freund, Ashutosh Bapat, Owner: Andres Freund
** Fixed in 
* GSSAPI encryption missing protocol documentation
** Commit: , Author: Robbie Harwood, Owner: Stephen Frost
** Fixed in 
* New regression tests for GSSAPI encryption are unstable
** Commit: , Author: Robbie Harwood, Owner: Stephen Frost
** Fixed in 
* clean up docs for v12
** Fixed in 
* Pathological performance when inserting NULL values into unique index
** Commit: , Author: Peter Geoghegan, Owner: Peter Geoghegan
** Fixed in 
* Cleanup/remove/update references to OID column
** Commit: , Author: Andres Freund, Owner: Andres Freund
** Fixed in 
* topminnow triggered assertion failure with vacuum_index_cleanup
** Fixed in 
* compiler warning in pgcrypto imath.c
** Commit: , Author: Noah Misch, Owner: Noah Misch
** Fixed in 
* Add TRUNCATE option to vacuum command as well as reloption
** Commit: , Author: Tsunakawa Takayuki, Owner: Fujii Masao
** Fixed in 
* Improvements in no-fsm-for-small-rels patch suggested by Andres Freund
** Commit: , Author: John Naylor, Amit Kapila, Owner: Amit Kapila
** Fixed in 
* Leakage of predicate locks
** Fixed in 
* Heap lock levels for REINDEX INDEX CONCURRENTLY not quite right?
** Commit: , Author: Michael Paquier, Owner: Peter Eisentraut
** Fixed in 
* Inconsistent error message wording for REINDEX CONCURRENTLY
** Commit: , Author: Michael Paquier, Owner: Peter Eisentraut
** Fixed in 
* Wrong answers from queries using a GIST index
** Commit: , Author: Anastasia Lubennikova, Andrey V. Lepikhov, Owner: Heikki Linnakangas
** Fixed in 
* Circular dependency between libpgcommon and libpgfeutils
** Fixed in 
* Should effective_io_concurrency + 10 be used for an index's page deletion table scans, or a new GUC
** Decision: leave the "+ 10" in for v12, and revisit in a later release when we have a better idea what kind of GUCs we want to control prefetching here and elsewhere
* Passing CopyMultiInsertInfo structure to CopyMultiInsertInfoNextFreeSlot()
** Commit Author: David Rowley, Andres Freund
** Decision: it's ok to have the unused parameter
* Assertion failure when using logging_collector on Windows
** Commit Author: Peter Eisentraut
** Fixed for 12beta1 by reverting, in , the necessary changes are too big for v12
== Won't Fix ==
* Memory leak associated with dubious RelationData.rd_pdcxt handling
** Commit: , Author: Robert Haas, Owner: Robert Haas
** A proposed patch exists, but some feel that cure is worse than the disease, so we may end up doing nothing for v12
== Important Dates ==
Current schedule:
* feature freeze: April 7, 2019
* beta1: May 23, 2019
* beta2: June 20, 2019
* beta3: Aug. 8, 2019
* beta4: Sep. 12, 2019
* rc1: Sep. 26, 2019
* GA: Oct. 3, 2019
Category:Open_Items