public inbox for [email protected]  
help / color / mirror / Atom feed
Re: PostgreSQL 19 beta 1 release announcement draft
12+ messages / 4 participants
[nested] [flat]

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-05-30 00:42 ` Darren Duncan <[email protected]>
  6 siblings, 0 replies; 12+ messages in thread

From: Darren Duncan @ 2026-05-30 00:42 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

On 2026-05-29 9:46 a.m., Robert Haas wrote:
> I do feel like this release announcement (like others you've written)
> is extremely dense, and if I were writing it myself I would probably
> mention somewhat fewer things so that the things I did mention hit
> harder, but of course I'm not: you are. I also understand that gets
> into tough arguments about what's actually worth mentioning, which are
> inevitably subjective. Still, I'd suggest as a zero-order guideline
> that including things that are <~ 500 LOC is more likely to be clutter
> than a true headline feature.
I find that a general thing which makes it easier to say things less verbosely 
is if the less verbose work can include a link to a version with more details, 
eg the full release notes, so nothing is actually being lost, just kept in a 
different place. -- Darren Duncan






^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-01 22:12 ` Jacob Champion <[email protected]>
  2026-06-03 17:34   ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
  6 siblings, 1 reply; 12+ messages in thread

From: Jacob Champion @ 2026-06-01 22:12 UTC (permalink / raw)
  To: Robert Haas <[email protected]>; +Cc: Jonathan S. Katz <[email protected]>; PostgreSQL Advocacy <[email protected]>

On Thu, May 28, 2026 at 8:23 PM Jonathan S. Katz <[email protected]> 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.

I think the beta announcement should probably reference the grease
campaign [1], since it'll only be conducted during 19beta, and we want
to encourage testers to try to find and report failures. I don't know
if that should be in the Testing section, or on the beta page of the
site, or somewhere else.

On Fri, May 29, 2026 at 9:46 AM Robert Haas <[email protected]> wrote:
> I also understand that gets
> into tough arguments about what's actually worth mentioning, which are
> inevitably subjective. Still, I'd suggest as a zero-order guideline
> that including things that are <~ 500 LOC is more likely to be clutter
> than a true headline feature.

If we're looking to streamline, I'll be the first to offer up
PQAUTHDATA_OAUTH_BEARER_TOKEN_V2 for the chopping block. :D
Alternatively, it could be pulled into a generic summary in the Other
Highlights section, like "OAuth support has received several
quality-of-life improvements for client and server developers" (which
also credits the other community contributions in that area, some of
which are more substantial than the new flow type).

If we do keep it where it is, I think "structured error message
specification" should be replaced with something like "custom error
messages". The structured-error wording makes me think of things like
error templates and JSON.

Thanks!
--Jacob

[1] https://wiki.postgresql.org/wiki/Grease






^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
  2026-06-01 22:12 ` Re: PostgreSQL 19 beta 1 release announcement draft Jacob Champion <[email protected]>
@ 2026-06-03 17:34   ` Jonathan S. Katz <[email protected]>
  2026-06-03 18:42     ` Re: PostgreSQL 19 beta 1 release announcement draft Jacob Champion <[email protected]>
  0 siblings, 1 reply; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-03 17:34 UTC (permalink / raw)
  To: Jacob Champion <[email protected]>; Robert Haas <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 6/1/26 6:12 PM, Jacob Champion wrote:
> On Thu, May 28, 2026 at 8:23 PM Jonathan S. Katz <[email protected]> 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.
> 
> I think the beta announcement should probably reference the grease
> campaign [1], since it'll only be conducted during 19beta, and we want
> to encourage testers to try to find and report failures. I don't know
> if that should be in the Testing section, or on the beta page of the
> site, or somewhere else.

Thanks, I do think we should include this. I've added this blurb, please 
LMK what you think:

==
The PostgreSQL 19 beta period includes a [grease 
campaign](https://wiki.postgresql.org/wiki/Grease) to help improve how 
clients interact with the PostgreSQL server. This wiki page contains 
information on how the campaign works, and how to make the appropriate 
modifications to clients as part of the campaign:

https://wiki.postgresql.org/wiki/Grease
==

> If we're looking to streamline, I'll be the first to offer up
> PQAUTHDATA_OAUTH_BEARER_TOKEN_V2 for the chopping block. :D
> Alternatively, it could be pulled into a generic summary in the Other
> Highlights section, like "OAuth support has received several
> quality-of-life improvements for client and server developers" (which
> also credits the other community contributions in that area, some of
> which are more substantial than the new flow type).
I opted for the simplification aspect, i.e. dropping it. I'd like to 
noodle on if/how to advertise the quality of life improvement aspects in 
the GA, but I'll take that as an exercise for August.

Jonathan


Attachments:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
  2026-06-01 22:12 ` Re: PostgreSQL 19 beta 1 release announcement draft Jacob Champion <[email protected]>
  2026-06-03 17:34   ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
@ 2026-06-03 18:42     ` Jacob Champion <[email protected]>
  0 siblings, 0 replies; 12+ messages in thread

From: Jacob Champion @ 2026-06-03 18:42 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: Robert Haas <[email protected]>; PostgreSQL Advocacy <[email protected]>

On Wed, Jun 3, 2026 at 10:34 AM Jonathan S. Katz <[email protected]> wrote:
> Thanks, I do think we should include this. I've added this blurb, please
> LMK what you think:
>
> ==
> The PostgreSQL 19 beta period includes a [grease
> campaign](https://wiki.postgresql.org/wiki/Grease) to help improve how
> clients interact with the PostgreSQL server. This wiki page contains
> information on how the campaign works, and how to make the appropriate
> modifications to clients as part of the campaign:
>
> https://wiki.postgresql.org/wiki/Grease
> ==

My counter would be something like

    The PostgreSQL 19 beta period includes a temporary "grease mode"
to try to find protocol compatibility problems in the wider ecosystem.
This wiki page contains information on how the campaign works:

    https://wiki.postgresql.org/wiki/Grease

Thanks!
--Jacob






^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-02 02:01 ` Jonathan S. Katz <[email protected]>
  2026-06-02 04:11   ` Re: PostgreSQL 19 beta 1 release announcement draft Darren Duncan <[email protected]>
  6 siblings, 1 reply; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-02 02:01 UTC (permalink / raw)
  To: Robert Haas <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 5/29/26 12:46 PM, Robert Haas wrote:

> I do feel like this release announcement (like others you've written)
> is extremely dense, and if I were writing it myself I would probably
> mention somewhat fewer things so that the things I did mention hit
> harder, but of course I'm not: you are. I also understand that gets
> into tough arguments about what's actually worth mentioning, which are
> inevitably subjective. Still, I'd suggest as a zero-order guideline
> that including things that are <~ 500 LOC is more likely to be clutter
> than a true headline feature.
first, thank you (and everyone!) for the reviws.

I'll reply / incorporate the other comments (+ other replies) on the 
thread separately, but wanted to address this one specifically.

Specifically for beta, I think we need to optimize for discoverability, 
one for testing purposes, but to make people generally aware what's 
available. The difference between the announcements and the release 
notes is that the announcements can give more context to the features 
and why they matter. In the past, we've had issues where we've missed 
things that have had significant user impact, so I've biased to be more 
verbose vs. less.

Now, if it's unintelligible because there's too much in there, or we 
need to make room for other things that's fine. OTOH, if we're in the 
"agenetic summarization" world, to me it seems better to put more detail 
into the release announcement.

Flipping back to the GA I think your point does stand with an asterisk - 
I think we can make those more focused and expand on a few different 
features, but I do want to save that discussion for when we ramp up that 
portion of the release cycle.

Thanks,

Jonathan


Attachments:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
  2026-06-02 02:01 ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
@ 2026-06-02 04:11   ` Darren Duncan <[email protected]>
  0 siblings, 0 replies; 12+ messages in thread

From: Darren Duncan @ 2026-06-02 04:11 UTC (permalink / raw)
  To: [email protected]

On 2026-06-01 7:01 p.m., Jonathan S. Katz wrote:
> The 
> difference between the announcements and the release notes is that the 
> announcements can give more context to the features and why they matter. In the 
> past, we've had issues where we've missed things that have had significant user 
> impact, so I've biased to be more verbose vs. less.
On that note, I feel the release notes are best to be a superset of the 
announcements, such that any verbiage written for announcements like the context 
and why things matter, that should be copied into the release notes so people 
reading the release notes also have that helpful information. -- Darren Duncan






^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-02 14:36 ` Miaolai Zhou <[email protected]>
  2026-06-03 17:37   ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
  6 siblings, 1 reply; 12+ messages in thread

From: Miaolai Zhou @ 2026-06-02 14:36 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

Thanks you, Jonathan! Here's my feedback:

1. Broken link: The PostgreSQL 19 docs link
(https://www.postgresql.org/docs/19/release-19.html) is showing "Page
not found".

2. Move the call-to-action up: I'd suggest moving "Testing for Bugs &
Compatibility" closer to the top of the announcement. Since many
readers don't make it to the end, we might lose them before they see
how they can help. We could then echo it again at the end to reinforce
how valuable community testing is.

3. Consider adding a feature summary table: What do you think about
including a table that lists the key features with one-line summaries,
then linking to the detailed paragraphs? It would add some length, but
it could help readers quickly scan and jump to what interests them
most.

Thanks,

Miaolai (Mila) Zhou

On Thu, May 28, 2026 at 11:23 PM Jonathan S. Katz <[email protected]> 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,
>
> Jonathan






^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
  2026-06-02 14:36 ` Re: PostgreSQL 19 beta 1 release announcement draft Miaolai Zhou <[email protected]>
@ 2026-06-03 17:37   ` Jonathan S. Katz <[email protected]>
  0 siblings, 0 replies; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-03 17:37 UTC (permalink / raw)
  To: Miaolai Zhou <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

Hi Mila,

On 6/2/26 10:36 AM, Miaolai Zhou wrote:
> Thanks you, Jonathan! Here's my feedback:
> 
> 1. Broken link: The PostgreSQL 19 docs link
> (https://www.postgresql.org/docs/19/release-19.html) is showing "Page
> not found".

This will be fixed when we perform the release; right now it's a 
placeholder.

> 3. Consider adding a feature summary table: What do you think about
> including a table that lists the key features with one-line summaries,
> then linking to the detailed paragraphs? It would add some length, but
> it could help readers quickly scan and jump to what interests them
> most.
I wonder if we do this for the GA? Open to thoughts here.

Thanks,

Jonathan


Attachments:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-03 17:13 ` Jonathan S. Katz <[email protected]>
  6 siblings, 0 replies; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-03 17:13 UTC (permalink / raw)
  To: Greg Sabino Mullane <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

(for individual replies, I'll be commenting on specific areas that have 
some form of follow-up; otherwise I'm accepting/rejecting suggestions. 
Thanks!)

On 5/29/26 12:45 PM, Greg Sabino Mullane wrote:

> 
>  > that lets table scans mark pages as visible
> 
> This sentence trips me up mentally each time I read it. Not sure of a 
> solution.

I took another read - I expanded on it a bit but made it sound less 
PostgreSQL inside knowledge specific:

==
PostgreSQL 19 further enhances vacuum with a new strategy that can 
automatically reduce future vacuuming work by using making optimizations 
while queries are executing.
==

>  > making it easier to use logical replication for use cases like upgrades
> 
> making it easier for upgrades

Opted for:

==
In PostgreSQL 19, logical replication now replicates sequence values,
simplifying tasks like online upgrades.
==


Thanks!

Jonathan


Attachments:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-03 17:20 ` Jonathan S. Katz <[email protected]>
  6 siblings, 0 replies; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-03 17:20 UTC (permalink / raw)
  To: Robert Haas <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 5/29/26 12:46 PM, Robert Haas wrote:
> On Thu, May 28, 2026 at 11:23 PM Jonathan S. Katz <[email protected]> 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.
> 
> I asked Claude to analyze this for things that were missing. It
> mentioned these as things that should possibly be mentioned: INSERT ON
> CONFLICT SELECT, eager aggregation, IGNORE NULLS for window functions,
> pg_dumpall for non-text formats. Of those, I would personally judge
> eager aggregation to be the most significant.
> 
> It also pointed out that the bit about GRANTED BY is misleading,
> because the syntax already existed, and already worked for roles.
> What's different is that for non-roles, it now can be used with values
> other than CURRENT_USER/CURRENT_ROLE and actually do something. It
> suggested that this was actually too minor to be included in a release
> note draft. I agree -- it's a small patch to fill a gap that few
> people will ever really be troubled by. Of course it will be useful to
> those who do run into it, but it's not really a headline feature IMHO.
Thanks - that was helpful. I went with:

* including INSERT ON CONFLICT SELECT RETURNING and eager aggregation
* removing the GRANTED BY section

I'll post the updated copy at the top of the thread shortly as I work 
through the rest of the feedback and add in the relevant links.

Thanks,

Jonathan


Attachments:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
@ 2026-06-04 00:54 ` Jonathan S. Katz <[email protected]>
  2026-06-04 00:55   ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
  6 siblings, 1 reply; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-04 00:54 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

Hi,

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:

  [application/pgp-signature] OpenPGP_signature.asc (840B, 2-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread

* Re: PostgreSQL 19 beta 1 release announcement draft
  2026-06-04 00:54 ` Re: PostgreSQL 19 beta 1 release announcement draft Jonathan S. Katz <[email protected]>
@ 2026-06-04 00:55   ` Jonathan S. Katz <[email protected]>
  0 siblings, 0 replies; 12+ messages in thread

From: Jonathan S. Katz @ 2026-06-04 00:55 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

On 6/3/26 8:54 PM, Jonathan S. Katz wrote:
> Hi,
> 
> 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.
And here's the actual current copy.

Jonathan


Attachments:

  [text/markdown] 19beta1.md (10.4K, 2-19beta1.md)
  download | inline:
The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 19 is now [available for download](https://www.postgresql.org/download/).
This release contains PostgreSQL 19 feature previews ahead of general
availability, though some details of the release can change during the beta
period.

You can find information about all of the PostgreSQL 19 features and changes in
the [release notes](https://www.postgresql.org/docs/19/release-19.html):

[https://www.postgresql.org/docs/19/release-19.html](https://www.postgresql.org/docs/19/release-19.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 19 on your systems to help us eliminate
bugs and other issues. While we do not advise you to run beta versions in
production environments, we encourage you to find ways to run your typical
application workloads against this beta release.

Your testing and feedback help the community ensure that PostgreSQL 19
upholds our standards of delivering a stable, reliable release of the
world's most advanced open source relational database. Please read more about
our [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute:

[https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 19 Feature Highlights
--------------------------------

Below are some of the feature highlights that are planned for PostgreSQL 19.
This list is not exhaustive; for the full list of planned features, please see
the [release notes](https://www.postgresql.org/docs/19/release-19.html).

### Performance

PostgreSQL 19 builds on the asynchronous I/O subsystem introduced in
PostgreSQL 18. In this release, `io_method=worker` now automatically scales the
number of I/O workers based on the new `io_min_workers` and `io_max_workers`
settings.

This release also introduces the `pg_plan_advice` extension, which lets users
stabilize and control planner decisions, along with `pg_stash_advice` to apply
advice automatically using query identifiers.

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 with
a new strategy that can automatically reduce future vacuuming work by marking
pages as visible while they're being queried. Additionally, this release
adds the new `REPACK` command and its nonblocking `CONCURRENTLY`
option, which allow tables to be rebuilt with less operational overhead.

PostgreSQL 19 shows up to 2x better performance on inserts when foreign
key checks are present. Additionally, this release improves several areas of
the query planner and executor, including new anti-join optimizations, broader
use of incremental sorts, eager aggregation that speeds up row processing,
faster reads from storage during parallel sequential scans, and
simplification of `IS DISTINCT FROM` and `IS NOT DISTINCT FROM` to plain
`<>` and `=` operators when the inputs are not nullable. There are also
improvements for `LISTEN`/`NOTIFY` scalability that impact multi-channel
workloads.

### Developer Experience

PostgreSQL 19 introduces support for SQL/PGQ, letting users execute property
graph queries using SQL standard syntax. This release also expands temporal
query capabilities with `UPDATE` and `DELETE` support for the
`FOR PORTION OF` clause, complementing the temporal constraint support added in
PostgreSQL 18. This release also adds `ALTER TABLE ... MERGE PARTITIONS` and
`ALTER TABLE ... SPLIT PARTITIONS` to make it easier to reorganize partitioned
tables in place. There is now also support for returning rows that conflict
during an upsert operation using
`INSERT ... ON CONFLICT DO SELECT ... RETURNING `.

PostgreSQL 19 introduces the new `GROUP BY ALL` syntax, making it easy to add
all non-aggregate and non-window output columns 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.

PostgreSQL 19 makes it easier to adopt "read-your-writes" query patterns
when working with replicas using the new `WAIT FOR LSN` command. This lets a
session wait until changes up to a specific log position (LSN) have been
replayed on the replica before executing a `SELECT` query.

PostgreSQL 19 also adds new SQL functions to retrieve the DDL
statements needed to recreate roles, tablespaces, and databases, simplifying
scripting and migration tasks. Additionally, the `random()` function now works
with `date` and `timestamp` types, and PL/Python now supports event triggers.

### Security Features

PostgreSQL 19 adds server-side support for Server Name Indication (SNI) through
a new `pg_hosts.conf` file, allowing a single PostgreSQL server to present
different TLS certificates based on the hostname requested by the client. There
is also a new `password_expiration_warning_threshold` setting
(defaulting to 7 days) to warn users in advance of upcoming password
expirations.

Further to the ongoing deprecation efforts of `md5` authentication, this release
issues a warning to the client after a successful `md5` authentication. This is
controllable via the new `md5_password_warnings` setting.

### Monitoring and Observability

PostgreSQL 19 introduces the `pg_stat_lock` view, which reports per-lock-type
statistics, and `pg_stat_recovery`, which provides detailed visibility into the
state of recovery operations. A `stats_reset` column is now available across
many statistics views to show when counters were last cleared. The
`pg_stat_progress_vacuum` and `pg_stat_progress_analyze` views now include a
`started_by` column that reports the initiator of the operation, and
`pg_stat_progress_vacuum` also has a `mode` column that reports how vacuum
is operating.

This release also allows `log_min_messages` levels to be specified per process
type, giving operators finer control over what each part of the system logs.
Additionally, WAL full page write byte counts are now reported in `VACUUM` and
`ANALYZE` log output, helping identify maintenance operations that generate
large amounts of WAL. Additionally, `EXPLAIN ANALYZE` now supports surfacing
asynchronous I/O statistics through its `IO` option, providing better visibility
into how queries are using the asynchronous I/O (AIO) subsystem.

### Logical Replication and Query Federation

In PostgreSQL 19, logical replication now replicates sequence values,
simplifying tasks like online upgrades. Additionally, the new
`CREATE PUBLICATION ... EXCEPT` syntax allows you to publish all tables in
a database except for a specified set, while `CREATE SUBSCRIPTION ... SERVER`
allows subscriptions to be defined using a foreign server, simplifying
credential management.

PostgreSQL 19 makes it possible to enable logical replication without restarting
a server. Logical replication can now be enabled on demand even when `wal_level`
is set to `replica`, and the new read-only `effective_wal_level` parameter
reports the WAL level currently in effect. This reduces the need to commit
upfront to a higher WAL level for clusters that may only occasionally need it,
and avoids disrupting an active workload.

The PostgreSQL foreign data wrapper, `postgres_fdw`, used for query federation,
includes several performance improvements, including pushing down array
operations to the remote server, and retrieving and using statistics from
foreign tables to support better local query planning.

### Other Highlights

The PostgreSQL 19 beta period includes a temporary "[grease mode](https://wiki.postgresql.org/wiki/Grease)"
to try to find protocol compatibility problems in the wider ecosystem. This wiki
page contains information on how the campaign works:

https://wiki.postgresql.org/wiki/Grease

PostgreSQL 19 allows data checksums to be enabled or disabled online, without
requiring a cluster restart or reinitialization.

There are several notable changes to be aware of in
PostgreSQL 19. Just-in-time compilation (JIT) is now disabled by default,
and the `default_toast_compression` setting now defaults to `lz4`,
providing better default compression and decompression performance. Support for
RADIUS authentication is now removed. Additionally, the `vacuumdb --analyze-only`
command by default analyzes partitioned tables.

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 19. Many
of these may also be helpful for your use cases. Please see the
[release notes](https://www.postgresql.org/docs/19/release-19.html) for a
complete list of new and changed features:

[https://www.postgresql.org/docs/19/release-19.html](https://www.postgresql.org/docs/19/release-19.html)

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools to find bugs
and regressions before the general availability of PostgreSQL 19. As this is a
Beta, minor changes to database behaviors, feature details, and APIs are still
possible. Your feedback and testing will help determine the final tweaks on the
new features, so please test in the near future. The quality of user testing
helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_19_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

[https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 19. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release around September/October 2026. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/)
page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 19 Beta Release Notes](https://www.postgresql.org/docs/19/release-19.html)
* [PostgreSQL 19 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_19_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)
* [Donate](https://www.postgresql.org/about/donate/)

  [application/pgp-signature] OpenPGP_signature.asc (840B, 3-OpenPGP_signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 12+ messages in thread


end of thread, other threads:[~2026-06-04 00:55 UTC | newest]

Thread overview: 12+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-05-30 00:42 ` Darren Duncan <[email protected]>
2026-06-01 22:12 ` Jacob Champion <[email protected]>
2026-06-03 17:34   ` Jonathan S. Katz <[email protected]>
2026-06-03 18:42     ` Jacob Champion <[email protected]>
2026-06-02 02:01 ` Jonathan S. Katz <[email protected]>
2026-06-02 04:11   ` Darren Duncan <[email protected]>
2026-06-02 14:36 ` Miaolai Zhou <[email protected]>
2026-06-03 17:37   ` Jonathan S. Katz <[email protected]>
2026-06-03 17:13 ` Jonathan S. Katz <[email protected]>
2026-06-03 17:20 ` Jonathan S. Katz <[email protected]>
2026-06-04 00:54 ` Jonathan S. Katz <[email protected]>
2026-06-04 00:55   ` Jonathan S. Katz <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox