PostgreSQL 19 Beta 1 release announcement draft
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.
Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
Thanks,
Jonathan
Attachments:
19beta1.mdtext/markdown; charset=UTF-8; name=19beta1.mdDownload
On Fri, May 29, 2026 at 5:23 AM Jonathan S. Katz <jkatz@postgresql.org> wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
Hi Jonathan, thanks for preparing it. Three thoughts, not sure You agree with
them, but while reading this I had these reactions:
I would recommend moving 'pg_plan_advice' a bit higher, as at least here we've
got quite volume of users asking for it often in emergencies, but also lack of
this feature also caused some not to migrate, because PG was missing it
earlier.
Also 64-bit MultiXactOffset is not directly called, but can be huge win for
some, maybe something like "64-bit MultiXactOffset greatly reduces the risk
of MultiXact member-space exhaustion: it prevents emergency anti-wraparound
vacuums previously caused by highly concurrent workloads involving FKs."
Perhaps also "GROUP BY ALL" could be listed as well under `Developer
Experience`.
-J.
On Fri, May 29, 2026 at 6:23 AM Jonathan S. Katz <jkatz@postgresql.org>
wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
I'd phrase the jsonpath part like this:
This release extends string processing capabilities in jsonpath with the
addition of lower(), upper(), initcap(), replace(), split_part(), and the
trim() family of functions
I'd also add GROUP BY ALL in that paragraph as well.
Hi Jon,
Reads pretty well, I think. Just a small observation:
On 2026-May-28, Jonathan S. Katz wrote:
This release brings improvements to vacuum and maintenance operations.
Autovacuum can now use parallel workers, which can be configured with the new
`autovacuum_max_parallel_workers` setting, and a new autovacuum scoring system
helps prioritize tables to vacuum. PostgreSQL 19 further enhances vacuum, adding
a new strategy that lets table scans mark pages as visible and reduce future
vacuuming work. Additionally, this release adds the new `REPACK` and
`REPACK CONCURRENTLY` commands, which allow rebuilding tables with less
operational overhead.
There's no REPACK CONCURRENTLY command. We added the REPACK command,
and an option for it called CONCURRENTLY, which must be given in parens.
Not sure of good wording for this in the release announce, but I think
listing those as two separate commands is a bit odd.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"Nunca se desea ardientemente lo que solo se desea por razón" (F. Alexandre)
On Fri, May 29, 2026, at 05:23, Jonathan S. Katz wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
Shameless plug: maybe the LISTEN/NOTIFY optimization could be added?
The work to fix the problem was triggered when I saw the
"Postgres LISTEN/NOTIFY does not scale"
article posted on Hacker News front-page [1]https://news.ycombinator.com/item?id=44490510 [2]https://www.recall.ai/blog/postgres-listen-notify-does-not-scale.
If of interest, maybe plug in this sentence
"better LISTEN/NOTIFY scalability for multi-channel workloads"
at the end of the ### Performance paragraph that begins with:
"PostgreSQL 19 shows up"?
/Joel
[1]: https://news.ycombinator.com/item?id=44490510
[2]: https://www.recall.ai/blog/postgres-listen-notify-does-not-scale
On Mon, Jun 1, 2026, at 23:33, Joel Jacobson wrote:
On Fri, May 29, 2026, at 05:23, Jonathan S. Katz wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)Shameless plug: maybe the LISTEN/NOTIFY optimization could be added?
The work to fix the problem was triggered when I saw the
"Postgres LISTEN/NOTIFY does not scale"
article posted on Hacker News front-page [1] [2].
As a possible, admittedly imperfect, signal of newsworthiness, searching
Hacker News for "Postgres" over the past year currently shows the article
as the #3 most popular story [4]https://hn.algolia.com/?dateRange=pastYear&page=0&prefix=false&query=Postgres&sort=byPopularity&type=story. Hacker News is not the PostgreSQL user
base, of course, but it seems reasonable to assume there is some overlap.
Show quoted text
If of interest, maybe plug in this sentence
"better LISTEN/NOTIFY scalability for multi-channel workloads"
at the end of the ### Performance paragraph that begins with:
"PostgreSQL 19 shows up"?/Joel
[1] https://news.ycombinator.com/item?id=44490510
[2] https://www.recall.ai/blog/postgres-listen-notify-does-not-scale
On Fri, 29 May 2026 at 05:23, Jonathan S. Katz <jkatz@postgresql.org> wrote:
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
I think it would make sense to call out that we're greasing the
protocol with the the beta[1]https://wiki.postgresql.org/wiki/Grease. Probably in the "Testing for Bugs &
Compatibility" section. Something like this:
During the beta period libpq will request non-existing versions of the
postgres protocol to allow us to bump the default protocol version in
the future, see [this wiki page for
details](https://wiki.postgresql.org/wiki/Grease).
On 5/31/26 12:15 PM, Florents Tselai wrote:
On Fri, May 29, 2026 at 6:23 AM Jonathan S. Katz <jkatz@postgresql.org
<mailto:jkatz@postgresql.org>> wrote:Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly?
Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)I'd phrase the jsonpath part like this:
This release extends string processing capabilities in jsonpath with the
addition of lower(), upper(), initcap(), replace(), split_part(), and
the trim() family of functionsI'd also add GROUP BY ALL in that paragraph as well.
Thanks! I had missed GROUP BY ALL (I saw Jakub mention it too), that
looks very convenient. Proposing:
==
PostgreSQL 19 introduces the new `GROUP BY ALL` syntax, making it easy
to add all non-aggregate and non-window parameters as part of the
grouping. This release extends string processing capabilities in
jsonpath with the addition of `lower()`, `upper()`, `initcap()`,
`replace()`, `split_part()`, and the `trim()` family of functions.
===
Thanks,
Jonathan
"Jonathan S. Katz" <jkatz@postgresql.org> writes:
On 5/31/26 12:15 PM, Florents Tselai wrote:
I'd also add GROUP BY ALL in that paragraph as well.
Thanks! I had missed GROUP BY ALL (I saw Jakub mention it too), that
looks very convenient. Proposing:
PostgreSQL 19 introduces the new `GROUP BY ALL` syntax, making it easy
to add all non-aggregate and non-window parameters as part of the
grouping.
"Parameters" is a fairly overloaded term in our part of the cosmos.
Maybe s/parameters/output columns/ ?
regards, tom lane
On 6/3/26 2:20 PM, Tom Lane wrote:
"Jonathan S. Katz" <jkatz@postgresql.org> writes:
On 5/31/26 12:15 PM, Florents Tselai wrote:
I'd also add GROUP BY ALL in that paragraph as well.
Thanks! I had missed GROUP BY ALL (I saw Jakub mention it too), that
looks very convenient. Proposing:PostgreSQL 19 introduces the new `GROUP BY ALL` syntax, making it easy
to add all non-aggregate and non-window parameters as part of the
grouping."Parameters" is a fairly overloaded term in our part of the cosmos.
Maybe s/parameters/output columns/ ?
Sold; will be reflected when I send out the next full update.
Jonathan
On 6/1/26 5:33 PM, Joel Jacobson wrote:
"better LISTEN/NOTIFY scalability for multi-channel workloads"
How does:
==
There are also improvements for `LISTEN`/`NOTIFY` scalability that
impact multi-channel workloads.
==
sound?
Thanks,
Jonathan
On Wed, Jun 3, 2026, at 21:23, Jonathan S. Katz wrote:
On 6/1/26 5:33 PM, Joel Jacobson wrote:
"better LISTEN/NOTIFY scalability for multi-channel workloads"
How does:
==
There are also improvements for `LISTEN`/`NOTIFY` scalability that
impact multi-channel workloads.
==sound?
Sounds good to me.
/Joel
On 5/28/26 11:23 PM, Jonathan S. Katz wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)
Thanks again for all the feedback. Here's the current copy; I'm working
on adding in links to the docs to it.
Thanks,
Jonathan
Attachments:
19beta1.mdtext/markdown; charset=UTF-8; name=19beta1.mdDownload
Hi Team,
Thanks again for all the feedback. Here's the current copy; I'm working
on adding in links to the docs to it.
I am following the link to download PG19 provided in release notes (
https://www.postgresql.org/about/news/postgresql-19-beta-1-released-3313/)
, however can't see PG19 listed in the list 'Select Version' list. See
screenshot.
Is the download link in release notes correct or we have not added version
19 yet on download page ?
On Thu, Jun 4, 2026 at 10:56 AM Jonathan S. Katz <jkatz@postgresql.org>
wrote:
Show quoted text
On 5/28/26 11:23 PM, Jonathan S. Katz wrote:
Hi,
Attached is the draft of the PostgreSQL 19 Beta 1 release announcement.
Please review for accuracy (e.g. are features described correctly? Did I
miss a revert), recommendations on additions or glaring omissions,
structure, etc.Please provide feedback no later than June 4, 2026 12:00 UTC (though
preferably earlier!)Thanks again for all the feedback. Here's the current copy; I'm working
on adding in links to the docs to it.Thanks,
Jonathan
Attachments:
PG19Beta1-Download.pngimage/png; name=PG19Beta1-Download.pngDownload+0-3
On 6/4/26 7:42 PM, Rajni Baliyan wrote:
I am following the link to download PG19 provided in release notes
(https://www.postgresql.org/about/news/postgresql-19-beta-1-
released-3313/ <https://www.postgresql.org/about/news/postgresql-19-
beta-1-released-3313/>) , however can't see PG19 listed in the list
'Select Version' list. See screenshot.Is the download link in release notes correct or we have not added
version 19 yet on download page ?
Historically, we haven't put the beta packages in the download page
dropdowns to reduce the risk of people installing the beta in production
(and possibly other reasons). Info on installing the beta packages is
available on the package repo homepages[1]https://yum.postgresql.org/[2]https://wiki.postgresql.org/wiki/Apt/FAQ#I_want_to_try_the_beta_version_of_the_next_PostgreSQL_release. From the main downloads
page there's a section called "Beta/RC releases" that goes to a page
with more specific instructions on how to get there[3]https://www.postgresql.org/download/snapshots/.
That said, I wouldn't be opposed to adding a line on the yum/apt
postgresql.org download pages that says something like "if you're
looking for beta/rc packages, click here" that goes to [3]https://www.postgresql.org/download/snapshots/. I don't know
if I'd want to keep it up past the beta period, since that portion fo
the download pages is to drive stable downloads, but I'm fine w/making
it less confusing.
Thanks,
Jonathan
[1]: https://yum.postgresql.org/
[2]: https://wiki.postgresql.org/wiki/Apt/FAQ#I_want_to_try_the_beta_version_of_the_next_PostgreSQL_release
https://wiki.postgresql.org/wiki/Apt/FAQ#I_want_to_try_the_beta_version_of_the_next_PostgreSQL_release
[3]: https://www.postgresql.org/download/snapshots/
On Fri, Jun 5, 2026 at 11:27 PM Jonathan S. Katz <jkatz@postgresql.org>
wrote:
On 6/4/26 7:42 PM, Rajni Baliyan wrote:
I am following the link to download PG19 provided in release notes
(https://www.postgresql.org/about/news/postgresql-19-beta-1-
released-3313/ <https://www.postgresql.org/about/news/postgresql-19-
beta-1-released-3313/>) , however can't see PG19 listed in the list
'Select Version' list. See screenshot.Is the download link in release notes correct or we have not added
version 19 yet on download page ?Historically, we haven't put the beta packages in the download page
dropdowns to reduce the risk of people installing the beta inproduction
(and possibly other reasons). Info on installing the beta packages is
available on the package repo homepages[1][2]. From the main downloads
page there's a section called "Beta/RC releases" that goes to a page
with more specific instructions on how to get there[3].That said, I wouldn't be opposed to adding a line on the yum/apt
postgresql.org download pages that says something like "if you're
looking for beta/rc packages, click here" that goes to [3]. I don'tknow
if I'd want to keep it up past the beta period, since that portion fo
the download pages is to drive stable downloads, but I'm fine w/making
it less confusing.Thank you for your reply Jonathan. I understand your point and completely
agree. However, if possible and to make it clear , we can do what you have
suggested and also we can clearly mention it in the announcement page (
from where to download the Beta packages) as now it is directing to
Download page and users (especially new users) will try to download it from
the Download page and might confuse after not finding V19 in drop down.
This is my view,
Show quoted text
Thanks,
Jonathan
[1] https://yum.postgresql.org/
[2]