{"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\/no\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","title":{"rendered":"pgrust \u2014 en klon av PostgreSQL p\u00e5 Rust, som passerer alle regresjonstester","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Prosjektet pgrust er publisert med implementering av PostgreSQL DBMS, omskrevet i Rust ved hjelp av c2rust-kompilator og AI-assistent. Det er rapportert at prosjektet fortsatt ikke er klart for bruk i produksjonsprosjekter, men gjennomg\u00e5r allerede alle regresjonstester for PostgreSQL vellykket, er kompatibelt med datastrukturer fra PostgreSQL 18.3 og kan bruke datakatalog fra PostgreSQL 18.3. Koden til prosjektet distribueres under AGPLv3-lisensen, i motsetning til original PostgreSQL, som leveres under den permissive PostgreSQL-lisensen, som er n\u00e6r BSD- og MIT-lisensene. En online-demonstrasjon av funksjonaliteten er tilgjengelig, basert p\u00e5 en WebAssembly-compile, samt et docker-image for rask oppstart.      <\/p>\n<p>M\u00e5let med utviklingen nevnes \u00e5 oppn\u00e5 full kompatibilitet med PostgreSQL 18.3, samt \u00e5 utf\u00f8re eksperimenter med endringer i den interne strukturen og skape en versjon av PostgreSQL fri for arkitektoniske begrensninger som ikke kan unng\u00e5s av historiske grunner. Prosjektet best\u00e5r av en vellykket kj\u00f8ring av mer enn 46 000 regresjonstester for PostgreSQL, men er fortsatt inkompatibelt med tillegg til PostgreSQL, gir ikke \u00f8nskede ytelsesforbedringer og implementerer ikke fullt ut de prosedyremessige spr\u00e5kene PL\/Python, PL\/Perl og PL\/Tcl.      <\/p>\n<p>Fremtidsplaner:  <\/p>\n<ul>\n<li class=\"l\"> Overgang til en flertr\u00e5dt intern arkitektur.\n<li class=\"l\"> Implementering av tilkoblingspools.\n<li class=\"l\"> Optimalisering for arbeidsprosesser som aktivt benytter JSON.\n<li class=\"l\"> Mulighet for \u00e5 lage kopier og avgresninger av DB-elementer i Copy-on-Write-modus uten datakopiering.\n<li class=\"l\"> Eksperimenter med arkitektur som ikke krever kj\u00f8ring av VACUUM-operasjonen.\n<li class=\"l\"> System for restriksjoner p\u00e5 SQL-sp\u00f8rringer som tillater blokkering av overdreven ressursbruk ved usaklige sp\u00f8rringer.\n<li class=\"l\"> Beskyttelse mot optimalisatorbytter til mindre effektive foresp\u00f8rselplaner.    <\/ul>\n<p>If\u00f8lge prosjektforfatteren p\u00e5g\u00e5r det for tiden arbeid med neste versjon av pgrust, hvor en flertr\u00e5det modell for tilkoblingsh\u00e5ndtering er implementert i stedet for en arbeidsprosesspool. I tillegg er ekstra optimaliseringer, som batchbehandling av rader i tabeller og forh\u00e5ndsinnlasting av data, i bruk. Under testing med verkt\u00f8yet percona-tpcc viste den nye versjonen av pgrust seg \u00e5 v\u00e6re 50% raskere enn standard PostgreSQL ved behandling av transaksjoner, og 300 ganger raskere ved behandling av analytiske sp\u00f8rringer.      <\/p>\n<p>Ved oversettelsen til Rust ble en hybrid tiln\u00e6rming brukt, hvor PostgreSQL-koden f\u00f8rst ble behandlet ved hjelp av oversetteren c2rust, som genererte en unsafe-representasjon av Rust som lignet p\u00e5 den opprinnelige C-koden i strukturen. Etter behandlingen i c2rust ble det laget omtrent 1000 crate-pakker som parallelt ble oversatt til idiomatisk Rust ved hjelp av AI-modellen Claude og verkt\u00f8ysettet Conductor for \u00e5 fordele oppgavene mellom samtidig kj\u00f8rende subagenter.<br \/>\n<br \/>Kilde: <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.5 - 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\/no\/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.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\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\/no\/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 en klon av PostgreSQL skrevet i Rust, som best\u00e5r alle regresjonstestene | ProHoster","description":"Prosjektet pgrust er offentliggjort med implementeringen av databasesystemet PostgreSQL, omskrevet i Rust ved hjelp av oversetteren c2rust og AI-assistent.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/pgrust-klon-postgresql-na-rust-prohodyashhij-vse-regressionnye-testy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\/no\/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\/no\/wp-json\/wp\/v2\/posts\/182581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=182581"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/182581\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=182581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=182581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=182581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}