{"id":182581,"date":"2026-07-10T10:53:26","date_gmt":"2026-07-10T08:53:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy"},"modified":"2026-07-10T10:53:26","modified_gmt":"2026-07-10T08:53:26","slug":"pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","title":{"rendered":"pgrust &#8212; un clone de PostgreSQL \u00e9crit en Rust, r\u00e9ussissant tous les tests de r\u00e9gression","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Un projet pgrust a \u00e9t\u00e9 publi\u00e9, mettant en \u0153uvre une base de donn\u00e9es PostgreSQL r\u00e9\u00e9crite en Rust, utilisant le traducteur c2rust et un assistant AI. Il est d\u00e9clar\u00e9 que le projet n'est pas encore pr\u00eat pour une utilisation dans des projets de production, mais il passe d\u00e9j\u00e0 avec succ\u00e8s tous les tests de r\u00e9gression de PostgreSQL, est compatible avec le format de stockage des donn\u00e9es PostgreSQL 18.3 et peut utiliser le catalogue de donn\u00e9es de PostgreSQL 18.3. Le code du projet est distribu\u00e9 sous la licence AGPLv3, contrairement \u00e0 l'original PostgreSQL, qui est fourni sous une licence permissive proche des licences BSD et MIT. Une d\u00e9monstration en ligne des capacit\u00e9s est disponible, bas\u00e9e sur une version WebAssembly, ainsi qu'une image docker pour un d\u00e9marrage rapide.      <\/p>\n<p>L'objectif du d\u00e9veloppement est d'atteindre une compatibilit\u00e9 totale avec PostgreSQL 18.3, ainsi que de mener des exp\u00e9riences sur la modification de l'architecture interne et de cr\u00e9er une version de PostgreSQL d\u00e9barrass\u00e9e des contraintes architecturales historiques. Le projet r\u00e9ussit \u00e0 passer plus de 46 000 tests de r\u00e9gression de PostgreSQL, mais il n'est pas encore compatible avec les extensions de PostgreSQL, ne fournit pas les optimisations de performance souhait\u00e9es et ne met pas enti\u00e8rement en \u0153uvre les langages proc\u00e9duraux PL\/Python, PL\/Perl et PL\/Tcl.      <\/p>\n<p>Plans futurs :  <\/p>\n<ul>\n<li class=\"l\"> Conversion \u00e0 une architecture interne multithread.\n<li class=\"l\"> Mise en \u0153uvre du pooling de connexions.\n<li class=\"l\"> Optimisation pour les workflows utilisant activement JSON.\n<li class=\"l\"> Possibilit\u00e9 de cr\u00e9er des copies et des branches des \u00e9l\u00e9ments de la base de donn\u00e9es en mode Copy-on-Write sans copier les donn\u00e9es.\n<li class=\"l\"> Exp\u00e9rimentations avec une architecture ne n\u00e9cessitant pas l'op\u00e9ration VACUUM.\n<li class=\"l\"> Un syst\u00e8me de contraintes pour les requ\u00eates SQL permettant de bloquer une consommation excessive de ressources lors de l'ex\u00e9cution de requ\u00eates de mauvaise qualit\u00e9.\n<li class=\"l\"> Protection contre le changement de l'optimiseur vers des plans d'ex\u00e9cution moins efficaces.    <\/ul>\n<p>Selon l'auteur du projet, des travaux sont actuellement en cours sur la prochaine version de pgrust, qui introduira un mod\u00e8le de traitement des connexions multithread \u00e0 la place d'un pool de processus. Des optimisations suppl\u00e9mentaires, telles que le traitement par lots des cha\u00eenes dans les tables et le pr\u00e9chargement des donn\u00e9es, seront \u00e9galement mises en \u0153uvre. Lors des tests r\u00e9alis\u00e9s avec l'outil percona-tpcc lors du traitement des transactions, la nouvelle version de pgrust a montr\u00e9 une performance de 50 % sup\u00e9rieure \u00e0 celle de PostgreSQL standard, et elle est 300 fois plus rapide pour le traitement des requ\u00eates analytiques.      <\/p>\n<p>Lors de la traduction en Rust, une approche hybride a \u00e9t\u00e9 adopt\u00e9e, o\u00f9 le code PostgreSQL a d'abord \u00e9t\u00e9 trait\u00e9 \u00e0 l'aide du traducteur c2rust, g\u00e9n\u00e9rant une repr\u00e9sentation unsafe en Rust, proche de la structure du code C d'origine. Apr\u00e8s le traitement dans c2rust, environ 1000 packages crate ont \u00e9t\u00e9 cr\u00e9\u00e9s, qui ont \u00e9t\u00e9 parall\u00e8lement traduits en Rust idiomatique \u00e0 l'aide du mod\u00e8le d'IA Claude et de l'outil Conductor pour r\u00e9partir les t\u00e2ches entre des sous-agents s'ex\u00e9cutant simultan\u00e9ment.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65879\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0435\u043a\u0442 pgrust \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0421\u0423\u0411\u0414 PostgreSQL, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440\u0430 c2rust \u0438 AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430. \u0417\u0430\u044f\u0432\u043b\u0435\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u043d\u043e \u0443\u0436\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b PostgreSQL, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL 18.3 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c data-\u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043e\u0442 PostgreSQL 18.3. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-182581","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0435\u043a\u0442 pgrust \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0421\u0423\u0411\u0414 PostgreSQL, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440\u0430 c2rust \u0438 AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47pgrust \u2014 \u043a\u043b\u043e\u043d PostgreSQL \u043d\u0430 Rust, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432\u0441\u0435 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0435\u043a\u0442 pgrust \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0421\u0423\u0411\u0414 PostgreSQL, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440\u0430 c2rust \u0438 AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-10T08:53:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-10T08:53:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47pgrust \u2014 un clone de PostgreSQL en Rust, passant tous les tests de r\u00e9gression | ProHoster","description":"Le projet pgrust a \u00e9t\u00e9 publi\u00e9 avec une mise en \u0153uvre de la base de donn\u00e9es PostgreSQL, r\u00e9\u00e9crite en Rust en utilisant le traducteur c2rust et un assistant IA.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47pgrust \u2014 \u043a\u043b\u043e\u043d PostgreSQL \u043d\u0430 Rust, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432\u0441\u0435 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u0440\u043e\u0435\u043a\u0442 pgrust \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0421\u0423\u0411\u0414 PostgreSQL, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0442\u043e\u0440\u0430 c2rust \u0438 AI-\u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-07-10T08:53:26+00:00","article:modified_time":"2026-07-10T08:53:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"182581","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-08-05 12:22:05","updated":"2026-08-05 12:22:05","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/182581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=182581"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/182581\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=182581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=182581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=182581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}