PostgreSQL: PostgreSQL 19 Beta 1 Released!
June 4, 2026:<br>PostgreSQL 19 Beta 1 Released!
Quick Links
About
Governance
Policies
Feature Matrix
Donate
History
Sponsors
Contributing
Financial
Servers
Latest News
Upcoming Events
Past events
Press
Licence
PostgreSQL 19 Beta 1 Released!
Posted on 2026-06-04 by PostgreSQL Global Development Group
PostgreSQL Project
The PostgreSQL Global Development Group announces that the first beta release of<br>PostgreSQL 19 is now available for download.<br>This release contains PostgreSQL 19 feature previews ahead of general<br>availability, though some details of the release can change during the beta<br>period.
You can find information about all of the PostgreSQL 19 features and changes in<br>the release notes:
https://www.postgresql.org/docs/19/release-19.html
In the spirit of the open source PostgreSQL community, we strongly encourage you<br>to test the new features of PostgreSQL 19 on your systems to help us eliminate<br>bugs and other issues. While we do not advise you to run beta versions in<br>production environments, we encourage you to find ways to run your typical<br>application workloads against this beta release.
Your testing and feedback help the community ensure that PostgreSQL 19<br>upholds our standards of delivering a stable, reliable release of the<br>world's most advanced open source relational database. Please read more about<br>our beta testing process and how<br>you can contribute:
https://www.postgresql.org/developer/beta/
PostgreSQL 19 Feature Highlights
Below are some of the feature highlights that are planned for PostgreSQL 19.<br>This list is not exhaustive; for the full list of planned features, please see<br>the release notes.
Performance
PostgreSQL 19 builds on the asynchronous I/O subsystem introduced in<br>PostgreSQL 18. In this release, io_method=worker now automatically scales the<br>number of I/O workers based on the new<br>io_min_workers<br>and<br>io_max_workers<br>settings.
This release also introduces the<br>pg_plan_advice<br>extension, which lets users stabilize and control planner decisions, along with<br>pg_stash_advice<br>to apply advice automatically using query identifiers.
This release brings improvements to vacuum and maintenance operations.<br>Autovacuum can now use parallel workers, which can be configured with the new<br>autovacuum_max_parallel_workers<br>setting, and a new autovacuum scoring system<br>helps prioritize tables to vacuum. PostgreSQL 19 further enhances vacuum with<br>a new strategy that can automatically reduce future vacuuming work by marking<br>pages as visible while they're being queried. Additionally, this release<br>adds the new REPACK<br>command and its nonblocking CONCURRENTLY<br>option, which allow tables to be rebuilt with less operational overhead.
PostgreSQL 19 shows up to 2x better performance on inserts when foreign key<br>checks are present. Additionally, this release improves several areas of<br>the query planner and executor, including new anti-join optimizations, broader<br>use of incremental sorts,<br>eager aggregation<br>that speeds up row processing,<br>faster reads from storage during parallel sequential scans, and<br>simplification of IS DISTINCT FROM<br>and IS NOT DISTINCT FROM to plain<br><> and = operators when the inputs are not nullable. There are also<br>improvements for<br>LISTEN/NOTIFY<br>scalability that impact multi-channel workloads.
Developer Experience
PostgreSQL 19 introduces support for<br>SQL/PGQ,<br>letting users execute property graph queries using SQL standard syntax. This<br>release also expands temporal query capabilities with UPDATE and DELETE<br>support for the<br>FOR PORTION OF<br>clause, complementing the temporal constraint support added in<br>PostgreSQL 18. This release also adds<br>ALTER TABLE ... MERGE PARTITIONS<br>and ALTER TABLE ... SPLIT PARTITIONS to make it easier to reorganize<br>partitioned tables in place. There is now also support for returning rows that<br>conflict during an upsert operation using<br>INSERT ... ON CONFLICT DO SELECT ... RETURNING.
PostgreSQL 19 introduces the new<br>GROUP BY ALL<br>syntax, making it easy to add<br>all non-aggregate and non-window output columns as part of the grouping. This<br>release extends string processing capabilities in<br>jsonpath<br>with the addition of<br>lower(), upper(), initcap(), replace(), split_part(), and the trim()<br>family of functions.
PostgreSQL 19 makes it easier to adopt "read-your-writes" query patterns<br>when working with replicas using the new<br>WAIT FOR LSN<br>command. This lets a<br>session wait until changes up to a specific log position (LSN) have been<br>replayed on the replica before executing a SELECT query.
PostgreSQL 19 also adds new SQL functions to retrieve the<br>DDL statements<br>needed to recreate roles, tablespaces, and databases, simplifying<br>scripting and migration tasks. Additionally, the<br>random()<br>function now works<br>with date and timestamp types, and<br>PL/Python<br>now supports event triggers.
Security Features
PostgreSQL 19 adds server-side support for Server Name Indication (SNI) through<br>a new<br>pg_hosts.conf<br>file, allowing a single PostgreSQL server to...