The PostgreSQL Global Development Group announced the release of PostgreSQL 17, the newest version of the open source database.
According to the group’s announcement, PostgreSQL 17 has improved performance and scalability while adapting to new data access and storage patterns required by cloud native computing and the rise of AI.
Among the key new features is enhanced support for JSON, which was one of the reasons users began adopting the database. In this release, the implementation of the SQL/JSON standard is mostly complete, according to Tom Kincaid, SVP of Database Server Development at EDB, a major contributor to the project. “I think one of the things people ask for the most is the implementation of JSON_TABLE, which enables you to take a JSON document and make a view of it as a relational table… it really speaks to the extensibility of Postgres, but also the continued evolution towards making it easier to adopt.”
PostgreSQL 17 now supports SQL/JSON constructors (JSON
, JSON_SCALAR
, JSON_SERIALIZE
) and query functions (JSON_EXISTS
, JSON_QUERY
, JSON_VALUE
), according to the group’s announcement, giving developers other ways of interfacing with their JSON data. This release adds more jsonpath
expressions, with an emphasis of converting JSON data to a native PostgreSQL data type, including numeric, boolean, string, and date/time types, the group announced.
Further, according to the group’s announcement, the new version brings more features to MERGE
, which is used for conditional updates. New capabilities include a RETURNING
clause and the ability to update views, as well as bulk loading and data exporting, including up to a 2x performance improvement when exporting large rows using the COPY
command. “COPY
performance also has improvements when the source and destination encodings match, and includes a new option, ON_ERROR
, that allows an import to continue even if there is an insert error,” the announcement said.
Another key feature Kincaid pointed out is the addition of incremental backup. “Postgres databases can be 10s of terabytes, in some cases, 100 terabytes or more, and being able to do a full backup on that could take several days, just depending on your hardware and your architecture and tools,” he said. “But now with incremental backup, you can combine incremental backups into a full backup, separate from the actual database server, so you don’t have to put some extensive load on your database server to do a full backup.”
PostgreSQL 17 brings system-wide performance gains and a more robust developer experience. Here are the release notes for a complete list of new and changed features.