Last week, the PostgreSQL development team shared a progress update on the highly anticipated PostgreSQL 12. This update promises a range of enhancements, including performance upgrades, refined server configurations, improved indexing, and more robust recovery parameters.
This article was updated on 05.14.2019 to clarify that it pertains to a progress update for PostgreSQL, rather than a software release.
What’s going to be coming in PostgreSQL 12?
Performance
In this upcoming version, PostgreSQL 12 will enable Just-in-Time (JIT) compilation by default. This change is expected to significantly reduce memory consumption during COPY operations and function calls, while also enhancing search performance for multi-byte characters.
Server configuration
Enhancements to server configuration will introduce the ability to enable or disable cluster checksums via pg_checksums. Additionally, the default value for autovacuum_vacuum_cost_delay will be reduced to 2ms, and time-based server variables will now support micro-seconds.
Indexes in PostgreSQL 12
Improvements in the speed of btree index insertions are on the horizon. The new implementation aims to enhance the space efficiency of page splits, thereby reducing locking overhead and optimizing performance for UPDATEs and DELETEs involving indexes with numerous duplicates.
Recovery parameters
PostgreSQL 12 will allow for the modification of recovery parameters during reloads. These parameters include archive_cleanup_command, promote_trigger_file, recovery_end_command, and recovery_min_apply_delay. Furthermore, it will introduce a streaming replication timeout feature.
OID columns
The peculiar behavior associated with OID columns is likely to be phased out; however, these columns will still be explicitly defined as type OID. Consequently, operations on tables with OID-named columns will require adjustments.
Data types
In a notable shift, data types such as abstime, reltime, and tinterval are expected to be removed from PostgreSQL 12.
Geometric functions
Refinements are set to enhance geometric functions and operators, aiming to deliver improved results. Additionally, the geometric types will be restructured to effectively manage NaN, underflow, overflow, and division by zero scenarios.
To explore further details about the forthcoming features in PostgreSQL 12, please refer to the official announcement.