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

Modder uses Nintendo Switch to boost aging 3D printer’s speed by 90%, dropping 3DBenchy print time from 90 minutes to a mere 8 minutes and 41 seconds — enthusiast claims big quality improvements by using jailbroken quad-core console

A hobbyist uses a jailbroken Nintendo Switch to run Klipper firmware on a Prusa MK3S, reducing print time from 90 minutes to under 9 minutes.

RJ Scaringe has raised more than $12 billion across three startups and investors still want more

Serial entrepreneur RJ Scaringe has raised more than $12 billion for his three startups, including Rivian, Also, and Mind Robotics, highlighting strong investor confidence.

Meta Reuses Old RAM In New Servers With Custom Bridge Chip

Meta reuses existing RAM modules in new data center servers by integrating a custom bridge chip, reducing costs and hardware waste.

Explore Wikipedia Like a Windows XP Desktop

A new web project offers users a Windows XP-style desktop interface to browse Wikipedia, blending nostalgia with modern browsing features.