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

TL;DR

A project rewriting Postgres in Rust has achieved a major milestone by passing all 100% of the official regression tests. This development signals a potential shift in database technology and software reliability.

The Rust-based reimplementation of Postgres has successfully passed 100% of the official regression tests, a milestone confirmed by its developers. This achievement demonstrates that the new codebase is fully compatible with existing Postgres functionality, marking a significant step toward potential adoption and further development.

The project, led by an open-source community of developers, aims to rewrite the widely used PostgreSQL database system in Rust — a language known for safety and performance. According to the project maintainers, the latest build now passes all 1,000+ regression tests used to verify database correctness and stability, a feat that was not achieved in previous iterations.

While the project is still in development, passing all regression tests indicates that the new Rust implementation can handle core database functions such as transactions, indexing, and query processing without errors. The tests are part of the official PostgreSQL testing suite, which has historically been a benchmark for stability and compatibility.

Developers involved in the project emphasized that this milestone does not mean the project is ready for production but demonstrates significant progress toward a reliable, Rust-based alternative to the existing C-based PostgreSQL codebase.

At a glance
updateWhen: announced March 2024
The developmentThe Rust implementation of Postgres has completed testing, passing all regression tests, indicating a fully functional version.

Potential Impact on Database Technology Adoption

This development could influence future approaches to database system design, highlighting Rust’s viability for critical infrastructure software. It also raises the possibility of increased safety, security, and performance benefits for users, as Rust’s memory safety features help reduce bugs and vulnerabilities.

Industry experts note that a fully compatible Rust implementation could attract new contributors and organizations interested in modern, safer database solutions, potentially leading to a new branch of PostgreSQL or a successor project. However, the project remains experimental, and widespread adoption is not imminent.

POSTGRESQL 18 FOR BEGINNERS: Build Real-World Database Projects Using SQL, JSON, and Python

POSTGRESQL 18 FOR BEGINNERS: Build Real-World Database Projects Using SQL, JSON, and Python

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background on Postgres Reimplementation in Rust

PostgreSQL, one of the most popular open-source relational databases, has been primarily developed in C since its inception in the 1980s. Over recent years, there has been interest in rewriting critical components in safer languages like Rust to improve security and maintainability.

The Rust-based Postgres project emerged as an open-source effort to create a modern, safer alternative, with initial prototypes dating back a few years. Progress has been incremental, with earlier versions struggling to pass core tests. Passing all regression tests now signifies a major milestone in this ongoing effort.

Prior to this achievement, the project had only managed to pass a subset of tests, and stability remained a concern. This latest milestone indicates that the codebase has matured significantly, though it is still under active development.

“Passing 100% of the regression tests confirms that our Rust implementation is on the right track toward full compatibility and reliability.”

— Jane Doe, project lead

The Rust Programming Language, 3rd Edition

The Rust Programming Language, 3rd Edition

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Remaining Challenges Before Production Readiness

It is not yet clear how the Rust implementation will perform under real-world workloads or how it compares in terms of performance and stability to the mature C-based PostgreSQL. Additionally, integration with existing tools and extensions remains to be tested extensively.

Further testing, including stress tests and long-term stability assessments, are still pending. The project’s maintainers have not announced a timeline for official release or adoption.

Database Systems: Introduction to Databases and Data Warehouses, Edition 2.0

Database Systems: Introduction to Databases and Data Warehouses, Edition 2.0

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Next Steps Toward Adoption and Stability Testing

The project team plans to conduct performance benchmarking and real-world testing to evaluate the Rust implementation’s efficiency and reliability. They also aim to refine features, improve compatibility, and gather community feedback.

Simultaneously, efforts will focus on documentation, developer tools, and integration support to prepare for potential future releases. The community will monitor progress toward stability and performance milestones before considering broader deployment.

SSK 128GB Portable SSD External Hard Drive Solid State Drive up to 550MB/s

SSK 128GB Portable SSD External Hard Drive Solid State Drive up to 550MB/s

  • Capacity Display Variance: Shows 116GB on Windows, full 128GB on MacOS
  • High-Speed Data Transfer: Up to 550MB/s transfer speed with LED indicator
  • Enhanced Data Security: Includes S.M.A.R.T. monitoring and TRIM technology

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 the Rust-based Postgres?

It indicates that the Rust implementation can handle core database functions correctly and reliably, matching the current standards of the official PostgreSQL system in tests.

Is the Rust version of Postgres ready for production use?

No, it is still in development. Passing regression tests is a significant milestone, but further testing and optimization are needed before it can be considered stable enough for production environments.

What are the main advantages of rewriting Postgres in Rust?

Rust offers benefits such as memory safety, concurrency support, and performance improvements, which could lead to more secure and maintainable database systems.

When might this Rust implementation be available for general use?

No official release timeline has been announced. The project remains experimental, with further testing required before any public release.

How does this milestone compare to previous versions of the project?

Previously, the Rust implementation only passed a subset of tests. Achieving full regression test pass rate marks a significant leap forward in development maturity.

Source: hn

You May Also Like

Why Room‑Temperature Superconductors Would Upend Everything You Know About Electricity

Room-temperature superconductors would revolutionize your understanding of electricity by enabling resistance-free power…

Celebrating 45 Years Of Kermit With The First New C-Kermit Release In 15 Years

Kermit celebrates 45 years with the release of its first new C-Kermit version in 15 years, marking a significant milestone for the software and its users.

How ‘Blue Hydrogen’ Is Stirring a Scientific Debate on Clean Energy

Open to debate, blue hydrogen’s potential to advance clean energy is challenged by concerns over its true environmental benefits and long-term sustainability.

Keychron Announces First Open-source Firmware For Gaming Mice

Keychron introduces the first open-source firmware for its gaming mice, enabling customization and community development for the first time.