PostgreSQL 18 Open Items
From PostgreSQL wiki
Jump to navigationJump to searchOpen Issues
NOTE: Please place new open items at the end of the list.
NOTE: If known, please list the Owner of the open item.
- queryId constant squashing does not support prepared statements
- Owner: Alvaro Herrera
- Commit: 62d712ecfd94
- bug report
- Improvements in GIN amcheck
- Commit: 14ffaece0fb53fed8ddbc46d2b353e1c4834863a
- Owner: Tomas Vondra
- Redefine plan ID as int64 rather than uint64
- The same problem applies to the query ID, but it is an older problem. The plan ID is new in v18.
- Commit: 2a0cd38da5cc
- Owner: Michael Paquier
- Foreign key validation failure in 18beta1
- Owner: Alvaro Herrera
- Commit: b663b9436e7509b5e73c8c372539f067cd6e66c1
- virtual generated columns are unsafe if superuser selects
- Owner: Peter Eisentraut
- virtual generated columns and planning speed
- Owner: Peter Eisentraut
Decisions to Recheck Mid-Beta
- Enable data checksums by default
- Commit: 04bec894a0
- Data checksums have been enabled by default. pg_upgrade cannot upgrade between non-checksum and checksum instances, so some additional steps are required by the user. Check whether the upgrade experience is tolerable and sufficiently documented. See the following list of threads that might be enhancing the end user experience:
- Also, a thread complaining about the extremely visible performance regression that results:
- strange perf regression with data checksums
- fixing tsearch locale support
- Commit: fb1a18810f0
- Text search locale support has been updated and integrated into the common locale framework. Possible upgrade issues should probably at least be noted in the release notes.
- Enable statistics in pg_dump by default (Jeff Davis)?
- decide what io_method to default to (Andres Freund)
- Commit: 247ce06b883
- Doc update
- Revisit libpq-oauth naming/ABI (Jacob Champion)
- Commit: b0635bfda
- The libpq-oauth module relies on libpq internals, so it'll be renamed every major release to avoid ABI incompatibilities. This reduces developer load at the expense of packager pain. Is that acceptable?
Older bugs affecting stable branches
Live issues
- Incorrect results for (SP-)GIST index-only scans
- GIST and SP-GIST indexes hold tuples in memory after releasing the pin on the page, but before returning them to the executor. This allows VACUUM to concurrently clean up any dead tuples from the page's results, and mark the heap pages that held the dead tuples as ALL_VISIBLE, breaking index-only scans.
- Comprehensive fix: Why doesn't GiST VACUUM require a super-exclusive lock, like nbtree VACUUM?
- Suggested fix for backpatching, 17-: [SP-]GiST IOS visibility bug
- generation expression node collation inaccurate
- generation expression node collation does not match the corresponding data type's collation
- generated column being included in partition key expression
- generated column can not be included in partition key expression, some corner case it will be included
- unsafe change individual column when partition key have wholerow reference
- we should disallow alter individual column if partition key contains wholerow reference
- pg_dump does dump domain notnull constraint comments
- pg_dump need dump these domain not null comments. This issue only exist in PG17 and PG18
Fixed issues
- Incorrect results for bitmap heap scan.
- Certain Bitmap Heap scans only test the visibility map before returning tuples. This can conflict with VACUUM removing tuples, thus causing more tuples to be returned from the scan than what are actually visible.
- Commit: 459e7bf8e2
- unsafe access of some catalogs' TOAST tables
- We should consider removing pg_replication_origin's TOAST table in v18 to fix a few places that don't set up a snapshot before potentially accessing TOASTed data.
- Commit: 16bf24e0e4
Non-bugs
- Fundamental scheduling bug in parallel restore of partitioned tables
- Current belief is that this is only a performance hazard, and hence not worth breaking feature freeze to fix. We can take it up in v19 instead.
Resolved Issues
resolved before 18beta2
- pg_get_process_memory_contexts can cause the target session to error out
- Defect in commit 042a66291b04f473cbc72f95f07438abd75ae3a9
- Owner: Daniel Gustafsson
- Patch
- Commit: fb844b9f06568a
- issues with generic plans and "initial" pruning
- Commit: 525392d57
- Owner: Amit Langote
- Fixed by: 1722d5eb05d8e5d2e064cd1798abcae4f296ca9d
- Refactoring for ChangeVarNodesExtended()
- Owner: Alexander Korotkov
- Commit: fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8
- Some problems regarding the self-join elimination code
- Fixed by: ab42d643c14509cf1345588f55d798284b11a91e
- Clean up injection point tests in AIO code
- Owner: Andres Freund (note from Michael Paquier: I'm OK to handle this one).
- Commit: 93bc3d75d8e1
- Support for runtime parameters in injection points, for AIO tests
- Fixed by: 371f2db8b05e, 36e5fda63260, c259ba881c10
- pg_dump 18beta1 fails to process complex table names
- Commit: 9c02e3a986
- Owner: Nathan Bossart
- Fixed by: a6060f1cbe
- Regression in statement locations with nested statements
- Commit: 499edb09741b
- Owner: Michael Paquier
- bug report
- Fixed by: 06450c7b8c70
- incorrect reltuples after upgrade from <v14
- Commit: 1fd1bd8710
- Owner: Nathan Bossart
- Fixed by: 5d6eac80cd
- assert failure during eager scanning
- Commit: 052026c9b903
- Owner: Melanie Plageman
- Fixed by: 4c08ecd1618
- Prevent stack overflow in OAuth parsers
- Owner: Jacob Champion
- Commit: b3f0be788a
- Patch/discussion
- Fixed by: cbc8fd0c9
resolved before 18beta1
- Fix guidance for running vacuumdb after pg_upgrade
- Owner: Nathan Bossart
- Commit: c9d502eb68
- pgsql: Update guidance for running vacuumdb after pg_upgrade.
- Fixed by: d5f1b6a75b, 9879105024
- Not null not valid: pg_dump output is inconsistent on table inheritence tables
- Owner: Álvaro Herrera
- Commit: a379061a22a8fdf421e1a457cc6af8503def6252
- pg_dump not null not valid is wrong
- Fixed by: 0e13b13d26e
- Difference in statistics on original and restored database
- Owner: Ashutosh Bapat
- Commit: 172259afb5
- Original report
- Fix discussion
- Once this issue is fixed, we need to enable dumping statistics and comparing them in pg_upgrade/002_pg_upgrade.pl. The patch for the same is posted in the thread.
- Use-after-free with stats_fetch_consistency = snapshot and pg_stat_get_backend_wal()
- Owner: Michael Paquier
- Commit: 76def4cdd
- Details of report
- Fixed by: 3191a593d6de
- Performance regression in SQL-language functions
- Owner: Tom Lane
- Commit: 0dca5d68d
- Performance issues with v18 SQL-language-function changes
- Fixed by: 0400ae4a6 and four preceding patches
- Memory mismanagement leads to infinite loop in walsender
- Owner: Tom Lane
- Commit: 1afe31f03
- bug report
- Fixed by: 80b727eb9
- Not-null-in-pg_constraint changes cause parallel restore to deadlock
- Owner: Alvaro Herrera
- Commit: 14e87ffa5c543b5f30ead7413084c25f7735039f
- Re: not null constraints, again
- Fixed by: 11ff192b5
- Avoid core dump in pgstat_read_statsfile()
- Owner: Michael Paquier
- Commit: 7949d9594582
- Avoid core dump in pgstat_read_statsfile()
- Fixed by: 923ae50cf559
- Assertion failure in discardAbortedPipelineResults() with psql's pipeline mode
- Owner: Michael Paquier
- Commit :2cce0fe440fb
- bug report
- Fixed by: 3631612eae9c
- Use extended stats for precise estimation of bucket size in hash join
- Owner: Alexander Korotkov
- Commit: 6bb6a62f3cc45624c601d5270673a17447734629
- ERROR: corrupt MVNDistinct entry - 2
- Fixed by: 9f404d7922e8831dc49bfa225530ba5309900e4e
- Bugs in self-join elimination
- Owner: Alexander Korotkov
- Commit: fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8
- Some problems regarding the self-join elimination code
- ERROR: too late to create a new PlaceHolderInfo
- Fixed by: 1aa7cf9eb85972aaf2969306e84f5fc794fbef7f
- Fixed by: 2260c7f6d90ecf76d3806d32890a0890688b41e8
- Treat oauth_client_secret as a password in UIs
- Owner: Jacob Champion
- Commit: b3f0be788afc17d2206e1ae1c731d8aeda1f2f59
- dispchar for oauth_client_secret
- Doc: mention ALTER TABLE ADD COLUMN no need rewrite when column is virtual generated column
- Owner: Peter Eisentraut
- Commit: 83ea6c54025bea67bcd4949a6d58d3fc11c3e21b
- DOC: ALTER TABLE ADD COLUMN TABLE REWRITE
- Fixed by: 06c4f3ae804
- Split OAuth support from libpq into libpq-oauth
- Owner: Daniel Gustafsson
- Commit: b3f0be788afc17d2206e1ae1c731d8aeda1f2f59
- Federated Authn/z with OAUTHBEARER
- dangling-pointer problem in SQL-language functions
- Owner: Tom Lane
- Commit: 0313c5dc6
- bug report
- Fixed by: e83a8ae4472
- Memory leak in parallel GIN builds
- Owner: Tomas Vondra
- Commit: 8492feb98f6df3f0f03e84ed56f0d1cbb2ac514c
- bug report
- Fixed by: 1681a70df3d6
Won't Fix
- Rename --with-libcurl to --with-oauth-client
- Owner: Jacob Champion
- Commit: b3f0be788afc17d2206e1ae1c731d8aeda1f2f59
- Federated Authn/z with OAUTHBEARER
- This request was withdrawn, with input from Peter E and Robert.
Important Dates
Current schedule:
- Beta 1: May 8, 2025
- Feature Freeze: April 8, 2025 0:00 AoE