Présentation de pgrust

Pgrust est une réécriture de Postgres en Rust sur laquelle j’ai travaillé avec Jason Seibel. Elle cible la compatibilité avec Postgres 18.3 et passe avec succès les tests de régression PostgreSQL, ainsi que les tests d’isolation.

Fonctionnement et architecture

Pgrust est compatible au niveau disque avec Postgres et peut démarrer à partir d’un répertoire de données Postgres 18.3 existant. Cependant, elle n’est pas encore prête pour la production, n’est pas optimisée pour les performances et n’est pas compatible avec les extensions Postgres existantes. L’objectif est de rendre Postgres plus facile à modifier de l’intérieur : conserver le comportement de Postgres comme référence, utiliser Rust pour rendre la base de code plus facile à travailler, et utiliser la programmation assistée par IA pour explorer des modifications de serveur plus approfondies.

Implémentation et limites

Actuellement, pgrust n’est pas optimisée pour les performances et n’est pas compatible avec les extensions Postgres existantes. Cependant, vous pouvez essayer la démo en ligne sur pgrust.com ou contribuer au code sur https://github.com/malisper/pgrust. Si vous testez pgrust, brisez-le ou avez des idées pour améliorer Postgres, n’hésitez pas à ouvrir une issue ou à envoyer un email à maintainers@pgrust.com.

Implications et perspectives

Le succès de pgrust dans les tests de régression Postgres ouvre des perspectives pour améliorer Postgres de l’intérieur. En utilisant Rust et la programmation assistée par IA, pgrust pourrait permettre des modifications plus profondes et plus rapides du serveur, tout en conservant le comportement de Postgres. Cependant, il est important de noter que pgrust est encore en développement et nécessite des contributions et des tests pour atteindre sa pleine potentialité.