
Immaginate di decidere che, invece di restaurare un classico della letteratura, preferite riscriverlo interamente usando un linguaggio di programmazione diverso, sperando che il lettore non se ne accorga nemmeno.
Sembra una follia degna di un cattivo di una serie Marvel, eppure è esattamente quello che sta succedendo nel mondo dei database. È apparso su Hacker News un progetto chiamato «pgrust», l’ambizioso tentativo di riscrivere PostgreSQL in Rust. E non parliamo di una piccola patch o di una libreria utility: stiamo parlando di riscrivere il cuore pulsante del database open source più amato (e usato) della storia.
Per chi non mastica codice tutto il giorno, PostgreSQL è quel pilastro su cui poggia metà del web. È solido, è affidabile, è lo standard. Ma riscriverlo in Rust non è solo una questione di «fumo negli occhi» per chi ama l’hype del nuovo linguaggio del momento. L’obiettivo di pgrust è sfruttare la sicurezza della memoria di Rust e l’ausilio dell’AI per esplorare cambiamenti strutturali che nel codice C originale sarebbero troppo rischiosi o complessi da implementare senza far esplodere tutto.
La cosa che mi ha fatto saltare sulla sedia, però, non è solo l’audacia, ma il risultato: il progetto sta già superando il 100% dei test di regressione di Postgres 18.3 su oltre 46.000 query. In pratica, pgrust si comporta esattamente come l’originale, ma con un motore sotto il cofano che punta a sogni proibiti come il multithreading nativo interno, un pooling delle connessioni integrato e una gestione del JSON che faccia sembrare l’attuale implementazione un reperto archeologico.
Naturalmente, non tutto è oro quello che luccica. Il README è molto onesto (e qui apprezzo la trasparenza, niente fuffa da ufficio marketing): non è ancora pronto per la produzione, non è ottimizzato per le performance e le estensioni storiche come PL/Python al momento sono ancora nel limbo della compatibilità. È un progetto in fase embrionale, un esperimento di pura ingegneria.
Certo, c’è chi dirà che è un inutile spreco di cicli CPU e tempo. Ma per noi che amiamo vedere le cose smontate e rimontate con componenti migliori, è una notizia che fa battere il cuore. Se riusciranno a mantenere la compatibilità con i dati esistenti (e lo fanno già!) e a portare la stabilità di Rust in un ambito critico come quello dei database, potremmo assistere a un cambio di paradigma totale.
Insomma, non caricate subito i vostri dati critici su questo nuovo motore, ma tenetevi pronti: il futuro del database potrebbe avere un sapore decisamente più Rustacean.
Source: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests
