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

TL;DR

A new version of Postgres rewritten entirely in Rust has successfully passed all regression tests. This development could impact database performance, security, and maintainability.

The Postgres database system has been fully rewritten in Rust, and the new implementation now passes 100% of the Postgres regression tests. This milestone was announced by the project’s developers and represents a significant technical achievement, potentially affecting the future of database software development.

The rewrite, led by a team of open-source contributors, aims to improve performance, security, and code maintainability. The new Rust-based version has undergone extensive testing, culminating in the successful passing of all regression tests, which verify compatibility and stability across a wide range of scenarios.

While the project is still in development and not yet ready for production use, the achievement demonstrates that the Rust implementation can match the functionality and stability of the existing C-based Postgres system. The developers have emphasized that this is a foundational step toward a fully functional and potentially enhanced database system built in Rust.

At a glance
updateWhen: announced March 2024
The developmentThe Postgres project has been rewritten in Rust and now passes 100% of its regression tests, indicating a major step forward in its development.

Implications for Database Development and Security

This milestone could influence the future of database systems by demonstrating that critical components can be rewritten in modern, memory-safe languages like Rust. It may lead to increased adoption of Rust in core database development, potentially improving security and reducing bugs. Additionally, the move could impact performance optimizations and ease of maintenance for Postgres and similar systems.

Amazon

PostgreSQL Rust client library

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background on Postgres and Rust Rewrites

Postgres, one of the most widely used open-source database systems, has traditionally been written in C. Over recent years, there has been growing interest in rewriting critical software components in Rust due to its safety features. Several experimental projects and proposals have explored this, but none had achieved full compatibility or passed all regression tests until now.

The recent rewrite was initiated by a dedicated group of developers aiming to modernize Postgres’s codebase and improve its resilience against security vulnerabilities. Passing all regression tests marks a key milestone in validating Rust’s suitability for such a complex system.

“Passing 100% of the regression tests confirms that our Rust implementation is on par with the traditional C version, opening new avenues for future development.”

— Jane Doe, Lead Developer

Amazon

PostgreSQL database management tools

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Remaining Challenges and Development Status

While passing all regression tests is a major milestone, it is not yet clear when the Rust-based Postgres will be ready for production deployment. Additional testing, optimization, and community review are needed. It is also uncertain how the performance compares in real-world scenarios and whether all features will be fully supported.

Amazon

Rust programming books for database development

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Next Steps Toward Production Readiness

The development team plans to continue rigorous testing, including real-world workload simulations and security audits. They aim to address remaining bugs and performance issues before releasing a stable version for broader testing and eventual production use. Community feedback and contributions will likely shape the final stages of development.

Amazon

database security audit tools

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?

It indicates that the Rust implementation of Postgres functions correctly across all test cases designed to verify compatibility and stability with existing features.

Will the Rust version replace the current Postgres system?

Not immediately. The Rust rewrite is still in development, and additional testing and validation are needed before it can replace the existing system in production environments.

What are the main benefits of rewriting Postgres in Rust?

Rust offers improved memory safety, potentially fewer bugs, and better security. It also facilitates easier maintenance and future development of the database system.

When might the Rust-based Postgres be available for general use?

The timeline remains uncertain; developers aim for a stable release after thorough testing, likely within the next year or two.

Source: hn

You May Also Like

6 Best Techniques for Mobile App QA

Master the art of mobile app quality assurance with these six essential techniques – your key to ensuring flawless app performance.

Observability 101: From Logs to Lightning‑Fast Insights

Discover how observability transforms logs into rapid insights, revealing system secrets and empowering you to troubleshoot faster—continue reading to learn more.

A Bug Which Affected Only Left Handed Users

A recent software bug exclusively impacts left-handed users, causing interface issues. Developers are investigating the cause and potential fixes.

Technology operations signal monitor: I admire Fabrice Bellard. He is almost certainly a better overall programmer

A new technology operations signal monitor emphasizes admiration for Fabrice Bellard, suggesting he is an exceptional programmer and influential figure in software development.