
PostgeSQL 19 beta 1 has been released on 2026-06-04.
The release is planned for September 2026, though it’s time to go through the new features and changes.
All three features below are cool and great developments from the authors of the patches that implemented them. But there are a lot of new cool features and extesnions to exisiting features done by a lot of people.
My thanks go out to all the people who made PostgreSQL 19 possible.
For all others there is still the opportunity to be part of that people, your time is now to test the current and comming beta and release candidates of PostgreSQL 19. And please report bugs you may find.
That way you help all users having a stable release version ready to use in production.
The INSERT became a new conflict action: It can now return a SELECT for conflicts.
Previously it already hat the options DO NOTHING and DO UPDATE, the first one did exactly what it was named, doing nothing, the second on offered to update the already existing columns.
The SELECT gives a complete new set of possibilities to handle existing data in an INSERT statement.
Previously one needed an extension, pg_repack, but repack is now a command directly availabe in PostgeSQL 19.
Not only is it now a command, it also supports the parameter CONCURRENTLY. That way repack does not affect current database sessions.
And you can pass an index name of an existing index to sort the repacked table after an index. When you have defined the sortorder with CLUSTER and you do not pass an index name, the sortorder is done after the index specified in CLUSTER.
That does obviously not solve the problem of having the table data always physically sorted, but at least with REPACK as regular maintenance job, the data is mostly sorted.
Graph Query Language (GQL) is a standardized query language for property graphs.
SQL/PGQ is the SQL standard extension to add the Graph Query Language to relatianonal databases.
It is availabe now in PostgeSQL, too, please see the Property Graphs documentation.

Author: Stefanie Janine Stölting