The Postgres community is excited about the new release of Postgres - Version 17! *(Released September 26, 2024)
Here are some highlights of what is new in this latest version.
- Performance Improvements - This release brings several upgrades to make queries faster and operations more efficient. It improves parallel query processing, the vacuum process, and B-tree index performance. Postgres 17 improves vacuum performance, especially for large tables with many indexes. This makes vacuuming operations faster and more efficient, particularly in environments with lots of concurrent activity. The vacuum process now uses a new internal data structure that reduces memory usage by up to 20 times and removes the 1GB memory limit, making it more flexible. Additionally, B-tree index performance is better thanks to optimized handling of IN clauses, which speeds up queries involving large lists of values.
- Support for Incremental Backups—This new feature allows users to copy only the changed blocks, reducing the size of the backup data. Incremental backups are similar to differential backups but with one key difference. Differential backups save data that has changed since the last Full Backup, whereas Incremental backups include data that has changed since the last Full or incremental backup. Incremental backups will shorten recovery times and save storage space.
-
Logical Replication Enhancements - Logical replication lets you stream data in real-time. Previously, if you wanted to upgrade to a new major version, you had to drop logical replication slots, meaning you had to resynchronize data afterward. With PostgreSQL 17, you don’t need to drop these slots anymore, making upgrades smoother. PostgreSQL 17 also adds failover control for logical replication, which improves resilience in high-availability setups. Plus, there's a new command-line tool, pg_createsubscriber, which helps convert a physical replica into a new logical replica.
- JSON Support improvements - PostgreSQL 17 has improved its support for handling JSON data. Now, with the JSON_TABLE feature, developers can easily turn JSON data into a standard PostgreSQL table. PostgreSQL 17 also includes new SQL/JSON tools (like JSON, JSON_SCALAR, JSON_SERIALIZE) and functions (such as JSON_EXISTS, JSON_QUERY, JSON_VALUE) for working with JSON data. Additionally, this version offers more jsonpath expressions to help convert JSON data into PostgreSQL’s native data types, including numbers, booleans, strings, and date/time types.
Sources:
postgresql.org
enterprisedb.com