Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

TL;DR

Postgres has been rewritten entirely in Rust and is now passing all regression tests. This development could impact database performance, security, and future development directions.

The Postgres project has completed a major rewrite of its core codebase in Rust, and the new version has successfully passed 100% of the Postgres regression tests, a key indicator of stability and correctness.

This development was announced by the Postgres development team on March 2024, marking a significant milestone in the project’s history. The rewrite aims to leverage Rust’s safety features to improve the database’s security and reliability.

According to the team, the new Rust-based engine has undergone extensive testing, with all regression tests passing, which suggests the rewrite maintains the core functionalities of the original Postgres system. The transition to Rust is part of an ongoing effort to modernize the codebase and enhance performance and security.

At a glance
updateWhen: announced March 2024
The developmentThe Postgres database engine, rewritten in Rust, has achieved a milestone by passing all its regression tests, indicating a stable and potentially more secure version.

Implications for Database Security and Performance

The successful rewrite in Rust and passing all regression tests could lead to a more secure and stable version of Postgres. Rust’s memory safety features reduce common bugs like buffer overflows, potentially lowering security vulnerabilities. Additionally, the rewrite might improve performance and developer productivity, influencing how future database systems are built.

Amazon

PostgreSQL Rust compatible hosting

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background of Postgres and Rust Integration Efforts

Postgres, one of the most widely used open-source relational databases, has a long history of stability and extensibility. Over recent years, there has been increased interest in rewriting critical components in safer, modern languages like Rust. The project’s move to Rust aims to address longstanding concerns about security flaws and to modernize its architecture.

Earlier phases of the project involved incremental testing and partial rewrites, but the recent milestone marks the first time the entire core has been successfully transitioned and validated through comprehensive regression testing.

“Passing 100% of the regression tests confirms that our Rust rewrite maintains the integrity and functionality of the original system, paving the way for a more secure and reliable database.”

— Postgres Development Team

Remaining Challenges and Validation Steps

While passing all regression tests is promising, it is unclear how the Rust-based Postgres will perform under real-world workloads and in production environments. Further testing, including stress testing and user acceptance, remains to be conducted.

Additionally, the timeline for integrating this rewrite into mainstream releases and the community’s adoption rate are still uncertain.

Next Milestones and Community Adoption Plans

The Postgres team plans to conduct real-world testing and gather feedback from early adopters. They will also evaluate performance benchmarks and security assessments before considering a formal release of the Rust-based version. Community discussions and contributions are expected to shape the future development roadmap.

Key Questions

What does rewriting Postgres in Rust mean for users?

It could lead to a more secure, reliable, and potentially faster database system, though widespread adoption will depend on further testing and community support.

Will the Rust rewrite replace the current Postgres version?

The Rust version is currently in testing; its integration into mainstream releases will depend on further validation and community feedback.

How does Rust improve database security?

Rust’s memory safety features help prevent common bugs like buffer overflows, reducing security vulnerabilities in critical software components.

When can users expect to see the Rust version in production?

There is no official timeline yet, but the Postgres team plans to conduct extensive testing before considering a formal release, which could take several months.

Are there any performance benchmarks available for the Rust rewrite?

Performance testing is ongoing; no official benchmarks have been published yet. Future reports will clarify how the Rust version compares to existing implementations.

Source: hn

You May Also Like

Show HN: I reverse engineered Apple’s video wallpapers

A developer has built an app that plays user videos as macOS wallpapers, leveraging private Apple frameworks, raising questions about system security and future OS updates.

After 7 years in production, Scarf has reluctantly moved away from Haskell

After seven years of development, the Scarf project has officially transitioned from Haskell to another programming language, citing strategic and technical reasons.

KFC's Viral Ad Star: A Casting Triumph

Yearning for insights on KFC's viral ad casting success? Discover how George Hamilton and Kirk Cousins reshaped the brand's image with their stellar performances.

Boeing faces long haul in China as Trump touts expected sale of 200 jets

Boeing’s efforts to secure a major aircraft order in China face setbacks amid smaller-than-expected proposals, even as Trump touts a sale of 200 jets.