PostgreSQL 18 Set to Enhance Analytics and Distributed Architectures
Anticipation is building as users and developers prepare for the release of PostgreSQL 18, scheduled for September. This latest version of the widely utilized open-source database aims to introduce features that will significantly enhance both analytics capabilities and distributed system architectures.
Recent data from the Stack Overflow survey indicates that PostgreSQL has solidified its position as the most favored database among professional developers, with 58 percent reporting usage. This marks an increase from 52 percent last year, while MySQL and Microsoft SQL Server trail at 40 percent and 30 percent, respectively. Despite its growing popularity, PostgreSQL has traditionally been associated more with online transaction processing (OLTP) than with analytics.
Umair Shahid, founder of the PostgreSQL advisory firm Stormatics and former head of PostgreSQL at Percona, believes that PostgreSQL 18 could change this perception. The upcoming version will feature a new asynchronous I/O subsystem designed to expedite read operations from disk.
“With asynchronous I/O, the CPU can issue multiple read requests without waiting for each to complete,” Shahid explained. “This enhancement allows PostgreSQL to utilize the CPU more effectively, reducing bottlenecks related to I/O and disk access, particularly in analytical workloads that involve extensive joins and parallel processing. The performance improvements could range from 200 to 300 percent in certain analytical scenarios.”
However, Shahid cautioned that this feature is optimized for modern hardware, such as SSDs or high-speed disks. Developers will need to manage concurrency and parallelism to align with their specific hardware environments.
Another significant upgrade in PostgreSQL 18 is the transition of the universally unique identifier (UUID) from version 4 to version 7. This enhancement aims to bolster database index performance in distributed computing contexts. “UUID v7 allows for sorting, enabling the implementation of global sequences within a distributed system,” Shahid noted. “This advancement facilitates the establishment of a distributed database with multiple active nodes, integrated directly into the core of open-source PostgreSQL.”
The trend towards distributed PostgreSQL is gaining traction, with several startups building products around this concept. Notable examples include CockroachDB and YugabyteDB, both of which offer PostgreSQL front ends with varying compatibility levels and distributed back ends. Additionally, PlanetScale has developed a service utilizing PostgreSQL with its proprietary operator, while pgEdge is working on a multi-master distributed database that enables users to operate master nodes across diverse locations.
Despite the excitement surrounding these advancements, some features will not be included in this release. Support for bitemporal queries and Property Graph Queries in SQL syntax will not be available in PostgreSQL 18. Alastair Turner, Technology Evangelist at Percona, reflected on the progress of these features over the past year, noting that they seemed poised for inclusion but ultimately did not make the final cut. “A year ago, it appeared that the addition of graph syntax to the SQL standard was advancing well, but it ultimately depended on the committer’s decisions,” he said.