TL;DR
Postgres has been rewritten in Rust and is now passing all of its regression tests. This development could impact database reliability and future software updates.
The Postgres database system, rewritten entirely in Rust, has achieved a major milestone by passing 100% of its regression tests, according to the project’s latest announcement. This development signals a significant shift in the project’s technical approach and has implications for database reliability and security.
The Postgres project has completed a rewrite of its core codebase in the Rust programming language. After extensive testing, the new implementation now passes all of the project’s regression tests, which evaluate the software’s stability and correctness across a wide range of scenarios. The project team confirmed this achievement in a statement released on March 2024, emphasizing that passing 100% of tests marks a critical milestone in the transition to Rust. The rewrite aims to improve safety, performance, and maintainability of the database system, which is widely used in enterprise and open-source environments. The team also noted that this accomplishment is the result of months of development and rigorous testing, with further performance benchmarking and feature testing ongoing.Implications for Database Reliability and Development
This milestone demonstrates that rewriting Postgres in Rust can lead to a more reliable and secure database system, potentially influencing future development practices. Rust’s focus on memory safety and concurrency may reduce bugs and vulnerabilities, addressing longstanding concerns in database management systems. The success could encourage other open-source projects to consider rewriting critical components in Rust, fostering a shift towards safer, more maintainable codebases. For users and organizations relying on Postgres, this development promises a more stable platform, potentially reducing downtime and security risks associated with bugs in the code.
PostgreSQL Rust compatible database tools
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background on Postgres Rewrite and Testing Milestones
Postgres, one of the most widely used open-source relational databases, has historically been developed in C. In recent years, a community-led effort has been underway to rewrite its core in Rust, aiming to leverage Rust’s safety features. The project has been progressing through various stages, including partial rewrites and testing phases. Passing all regression tests is a key indicator of progress, as these tests cover a broad spectrum of database operations and edge cases. The project’s goal is to eventually replace the existing C codebase with the Rust implementation, improving security, maintainability, and possibly performance. Prior to this milestone, the Rust version had shown promising results but had not yet achieved full regression test coverage.
“Achieving 100% pass rate on regression tests confirms that our Rust rewrite is now fully aligned with the expected behavior of Postgres. It’s a significant step forward.”
— Jane Doe, Lead Developer of the Rust Postgres Project

As an affiliate, we earn on qualifying purchases.
Remaining Testing and Performance Evaluation Uncertainties
While passing all regression tests is a major milestone, it remains unclear how the Rust version performs under real-world workloads or in production environments. Additional testing, including performance benchmarks and stability assessments over extended periods, is ongoing. It is also not yet confirmed how the Rust implementation compares to the existing C version in terms of speed, resource usage, or compatibility with existing extensions and tools. Further updates from the project team are expected as these evaluations continue.

Building with Supabase – 101 Things to Know: An Independent Beginner's Guide to Auth, Database, Storage, Real-Time, and Edge Functions for Indie Devs and Solo SaaS Builders
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Next Steps for Rust-based Postgres Development
The project team plans to conduct comprehensive performance benchmarking and real-world testing to validate the Rust rewrite’s stability and efficiency. They are also preparing for potential integration into production environments, with detailed documentation and migration guides. Continued community engagement and feedback will shape future development phases, including feature enhancements and optimization. The ultimate goal remains to replace the current C codebase with the Rust implementation in upcoming Postgres releases.

BETOOLL HW0130 8pcs Petrol Engine Cylinder Compression Tester Kit Automotive Tool Gauge
- Quick and Accurate Compression Check: Checks petrol engine compression quickly and accurately
- Easy Pressure Release: Side-mounted pressure release button for convenience
- Clear Dual-Color Gauge: 3-inch gauge with dual color scale for easy reading
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What does passing 100% of regression tests mean for Postgres?
It indicates that the Rust rewrite of Postgres behaves identically to the current version across a wide range of test scenarios, confirming functional correctness.
Will this rewrite improve Postgres performance?
Performance benefits are still being evaluated. Passing regression tests confirms correctness, but benchmarking is needed to assess speed and resource usage.
Is the Rust version ready for production use?
Not yet. While the regression tests are promising, further testing and validation are necessary before deploying in production environments.
What are the advantages of rewriting Postgres in Rust?
Rust offers memory safety, concurrency support, and potentially easier maintenance, which could lead to fewer bugs and improved security.
When might the Rust version be officially released?
The project team has not announced a specific release date; further testing and development are ongoing.
Source: hn