Re: First draft of PG 19 release notes
Bruce Momjian <bruce@momjian.us>
Attachments
- master.diff (text/x-diff) patch
On Wed, Apr 15, 2026 at 10:59:13PM +0800, jian he wrote: > On Wed, Apr 15, 2026 at 9:19 AM Bruce Momjian <bruce@momjian.us> wrote: > > > > I have completed the first draft of the PG 19 release notes: > > > > https://www.postgresql.org/docs/devel/release-19.html > > > > https://git.postgresql.org/cgit/postgresql.git/commit/?id=ecd9288624a1582a732cf86ac5a01475a1ce7815 I don't usually mention test changes in the release notes. > https://git.postgresql.org/cgit/postgresql.git/commit/?id=4edd6036d69ce42ac1af236f659f20daed65c8d4 Uh, the commit message is: commit 4edd6036d69 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Tue Apr 7 14:45:33 2026 -0400 Fix WITHOUT OVERLAPS' interaction with domains. UNIQUE/PRIMARY KEY ... WITHOUT OVERLAPS requires the no-overlap column to be a range or multirange, but it should allow a domain over such a type too. This requires minor adjustments in both the parser and executor. In passing, fix a nearby break-instead-of-continue thinko in transformIndexConstraint. This had the effect of disabling parse-time validation of the no-overlap column's type in the context of ALTER TABLE ADD CONSTRAINT, if it follows a dropped column. We'd still complain appropriately at runtime though. Author: Jian He <jian.universality@gmail.com> Reviewed-by: Paul A Jungwirth <pj@illuminatedcomputing.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CACJufxGoAmN_0iJ=hjTG0vGpOSOyy-vYyfE+-q0AWxrq2_p5XQ@mail.gmail.com --> Backpatch-through: 18 Since it is backpatched to PG 18, it shouldn't appear in the PG 19 release notes. > """ > Allow COPY TO to output partitioned tables (Jian He, Ajin Cherian) § § > Previously COPY (SELECT ...) has to be used to output partitioned tables. > """ > The second commit uses this feature, so i guess the commit message > needs a slight change. Updated in attached patch. > """ > Improve timing performance measurements (Lukas Fittl, Andres Freund, > David Geier, Lukas Fittl, David Geier) § § > This benefits EXPLAIN (ANALYZE, TIMING) and pg_test_timing, and is > controlled via server variable timing_clock_source. > """ > Duplicated name entry. Fixed in attached patch. > """ > Allow IS [NOT] DISTINCT FROM NULL to be converted to IS [NOT] NULL for > proven null arguments (Richard Guo) § > The latter form is more easily optimized. > """ > Two optional ``[NOT]`` introduce ambiguity. Uh, if the NOT is in the first, it is in the second. Is that confusing? Suggestions? > """ > Add support for INSERT ... RETURNING ... ON CONFLICT DO SELECT > (Andreas Karlsson, Marko Tiikkaja, Viktor Holmberg) § > This allows conflicting rows to be returns, and optionally locked with > FOR UPDATE/SHARE. > """ > I think it's: > INSERT... ON CONFLICT DO SELECT...RETURNING Uh, went by the commit messsage which says: The INSERT statement must have a RETURNING clause, when DO SELECT is specified. However, all the examples have the syntax as you specified, so I must have interpreted it wrong. Applied patch attached. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
doc PG 19 relnotes: remove VALIDATE CONSTRAINT lock item
- 2dab2ce3d781 19 (unreleased) landed
-
Fix ALTER DOMAIN VALIDATE CONSTRAINT locking
- 64797ad97d6e 19 (unreleased) cited
-
Revert "Enable fast default for domains with non-volatile constraints"
- a0354e29c41a 19 (unreleased) cited
-
doc PG 19 relnotes: improve awkward or confusing wording
- eb77a521996f 19 (unreleased) landed
-
doc PG 19 relnotes: more fixes
- 8656ba7f7187 19 (unreleased) landed
-
doc PG 19 relnotes: various corrections
- 1d751b4b6b01 19 (unreleased) landed
-
doc PG 19 relnotes: adjust item to mention pg_replication_slots
- cfedd4513357 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Add fake LSN support to hash index"
- 41b60bf172ef 19 (unreleased) landed
-
doc PG 19 relnotes: add two optimizer hooks
- cac0f24eb57f 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Optionally" for CPU optimizations
- 06fccab4c61b 19 (unreleased) landed
-
doc PG 19 relnotes: adjustments/removal of items
- 8974a7c433d3 19 (unreleased) landed
-
doc PG 19 relnotes: add UTF-8 case folding performance item
- 12ca57bf346f 19 (unreleased) landed
-
doc PG 19 relnotes: correct two items
- 2d773a9f005f 19 (unreleased) landed
-
doc PG 19 relnotes: add missing commits and details
- 4c0f1e491018 19 (unreleased) landed
-
doc PG 19 relnotes: fix typo, "date" -> "data"
- 158d8fadd79f 19 (unreleased) landed
-
doc PG 19 relnotes: add author and move items
- 191a037d4f2d 19 (unreleased) landed
-
doc PG 19 relnotes: update author
- af1ed03739fb 19 (unreleased) landed
-
doc PG 19 relnotes: add free space map all-visible item
- be324941262b 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Lakshmi N" as author of checksums
- 75693dc5b72e 19 (unreleased) landed
-
doc PG 19 relnotes: fix "now targets"
- caebf165098f 19 (unreleased) landed
-
doc PG 19 relnotes: adjust ShmemRequestStruct item
- e70ac90d95a2 19 (unreleased) landed
-
Improve various new-to-v19 appendStringInfo calls
- 49ce41810fac 19 (unreleased) cited
-
doc: Fix data_checksums data type
- b364828f825a 19 (unreleased) cited
-
Fix WITHOUT OVERLAPS' interaction with domains.
- 4edd6036d69c 19 (unreleased) cited
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) cited
-
Doc: split functions-posix-regexp section into multiple subsections.
- 00c025a00117 19 (unreleased) cited
-
make immutability tests in to_json and to_jsonb complete
- ecd9288624a1 19 (unreleased) cited
-
Optimize tuple deformation
- c456e3911380 19 (unreleased) cited
-
pgstattuple: Optimize pgstattuple_approx() with streaming read
- ae58189a4d52 19 (unreleased) cited
-
Use fake LSNs to improve nbtree dropPin behavior.
- 8a879119a1d1 19 (unreleased) cited
-
Use streaming read for VACUUM cleanup of GIN
- 6c228755add8 19 (unreleased) cited
-
Clean up ICU includes.
- af2d4ca191a4 19 (unreleased) cited
-
ICU: use UTF8-optimized case conversion API
- c4ff35f10441 19 (unreleased) cited
-
Add the MODE option to the WAIT FOR LSN command
- 49a181b5d634 19 (unreleased) cited
-
Speedup tuple deformation with additional function inlining
- 58a359e585d0 18.0 cited