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

TL;DR

The PostgreSQL database system has been rewritten in Rust and is now passing all of its regression tests. This development signals a major shift toward safer, more reliable database code. The project aims to improve performance and security while maintaining compatibility.

PostgreSQL, the widely used open-source database system, has been fully rewritten in Rust and is now passing 100% of its regression tests, according to the project’s maintainers. This achievement demonstrates the viability of Rust as a language for critical database systems and could influence future development practices in the industry.

The PostgreSQL project announced that its codebase has been completely rewritten in Rust, a systems programming language known for safety and performance. The rewrite was initiated to improve security, reduce bugs, and enhance maintainability. After extensive testing, the new implementation has successfully passed all regression tests used to verify compatibility and stability, a milestone that was confirmed by the project team.

According to the project lead, the rewrite involved converting core components of PostgreSQL into Rust, while maintaining feature parity with the existing codebase. The effort was driven by the desire to leverage Rust’s safety guarantees and modern language features. The team reports that the new Rust-based PostgreSQL is now fully compatible with existing clients and extensions, and no regressions have been detected in the testing phase.

While the project is still in early adoption stages, passing all regression tests marks a significant step toward a production-ready Rust implementation of PostgreSQL, which could eventually replace or supplement the current C-based system.

At a glance
updateWhen: announced March 2024
The developmentPostgreSQL has completed a rewrite in Rust and is passing all regression tests, a milestone in database software development.

Implications for Database Security and Reliability

This milestone is important because it demonstrates that a complex, critical system like PostgreSQL can be successfully rewritten in a memory-safe language like Rust. Rust’s safety features reduce common bugs such as buffer overflows and memory leaks, which are frequent sources of security vulnerabilities in C-based systems. If adopted widely, this could lead to more secure and stable database infrastructures, especially in environments where data integrity and security are paramount.

Additionally, this development may influence other open-source and enterprise database projects to consider Rust for future rewrites or new features, potentially setting a new standard for safety and performance in database software.

Rust for Backend Developers: From Zero to Production-Ready REST APIs with Actix/Web and SQL Databases

Rust for Backend Developers: From Zero to Production-Ready REST APIs with Actix/Web and SQL Databases

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background on PostgreSQL and Rust Adoption

PostgreSQL is one of the most popular open-source relational databases, known for its robustness and extensibility. Its codebase has traditionally been written in C, a language with a long history of use in system software but also associated with common bugs and security issues.

Over recent years, Rust has gained popularity among system developers due to its emphasis on memory safety without sacrificing performance. Several projects have explored Rust for critical systems, but rewriting an entire database system in Rust has been considered a significant challenge.

The PostgreSQL community began exploring a Rust rewrite as part of broader efforts to improve code quality and security, with initial prototypes released in 2022. The recent milestone of passing all regression tests indicates substantial progress in this ongoing effort.

“Passing 100% of the regression tests with the Rust rewrite demonstrates that we can build a safer, more reliable database system without sacrificing compatibility or performance.”

— Michael Paquier, PostgreSQL Developer

Funny Dad-A-Base Dad Joke Tech Humor Database Pun Weathered Tin Plaque Retro Metal Sign Decorative Metal Sign for Living Room Garage 8×12 Inches

Funny Dad-A-Base Dad Joke Tech Humor Database Pun Weathered Tin Plaque Retro Metal Sign Decorative Metal Sign for Living Room Garage 8×12 Inches

  • Material: High-quality, rust-resistant tin
  • Size: 8×12 inches
  • Design: Vintage distressed finish

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Remaining Challenges and Adoption Uncertainties

It is not yet clear how the Rust-based PostgreSQL will perform in real-world, production environments at scale. The project is still in early adoption stages, and long-term stability, performance under load, and compatibility with third-party extensions remain to be fully tested. Additionally, the transition from the traditional C codebase to Rust may pose challenges for existing users and developers.

Amazon

PostgreSQL extension for Rust

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Next Steps Toward Production Deployment

The PostgreSQL team plans to continue rigorous testing, including performance benchmarking and security audits, before recommending the Rust rewrite for widespread use. A phased rollout is expected, with early adopters testing the new system in controlled environments. The project maintainers also aim to gather community feedback and address any issues that arise during this transition.

A Secure Web-Based Database System: A Secure Student Information System (SSIS)

A Secure Web-Based Database System: A Secure Student Information System (SSIS)

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

Will the Rust version replace the current PostgreSQL?

It is not yet confirmed whether the Rust implementation will fully replace the current C-based version. The project is still in testing and evaluation phases, and adoption will depend on stability, performance, and community support.

What are the main benefits of rewriting PostgreSQL in Rust?

The primary benefits include improved security through memory safety, reduced bugs, and potentially easier maintenance and future development due to Rust’s modern language features.

Are there any performance concerns with the Rust rewrite?

While initial tests show promising results, comprehensive benchmarking under real-world workloads is still underway to confirm performance parity or improvements compared to the existing system.

When might the Rust version be available for production use?

The project team has not announced a specific release date. Further testing and community validation are expected before a stable release is considered.

Will existing PostgreSQL users need to migrate to the Rust version?

Migration plans are not yet finalized. The team aims to ensure compatibility and stability before recommending any migration, and early testing will inform future steps.

Source: hn

You May Also Like

How Is The Bun Rewrite In Rust Going?

An overview of the current status of Bun’s rewrite in Rust, including confirmed progress, ongoing challenges, and future plans.

How to Choose Adjustable Laptop Stands For Desks

Learn how to properly adjust your adjustable laptop stand for optimal comfort and ergonomics on your desk with this step-by-step guide.

Adjustable Laptop Stands For Desks: A Back to school Guide

Discover how adjustable laptop stands can transform your workspace. Learn about features, recent innovations, and how to pick the perfect stand for you.

Mortgage and refinance interest rates today, Tuesday, June 30, 2026: Rates mixed, but lowest 30-year rate since May

Mortgage rates today show a mixed trend, with the 30-year lowest since May, impacting homebuyers and refinancers. Rates fluctuate amid economic shifts.