Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты

10.07.2026 09:19 (MSK)

Опубликован проект pgrust с реализацией СУБД PostgreSQL, переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента. Заявлено, что проект пока не готов для использования в рабочих проектах, но уже успешно проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения данных PostgreSQL 18.3 и может использовать data-каталог от PostgreSQL 18.3. Код проекта распространяется под лицензией AGPLv3, в отличие от оригинального PostgreSQL, поставляемого под пермиссивной лицензией PostgreSQL, близкой к лицензиям BSD и MIT. Доступна online-демонстрация возможностей, основанная на сборке в WebAssembly, а также docker-образ для быстрого запуска.

В качестве цели разработки упоминается достижение полной совместимости с PostgreSQL 18.3, а также проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам. Проект успешно проходит набор из более чем 46 тысяч регрессионных тестов PostgreSQL, но пока несовместим с дополнениями к PostgreSQL, не предоставляет желаемых оптимизиций производительности и не полностью реализует процедурные языки PL/Python, PL/Perl и PL/Tcl.

Планы на будущее:

  • Перевод на многопоточную внутреннюю архитектуру.
  • Реализация пулинга соединений.
  • Оптимизация для рабочих процессов, активно использующих JSON.
  • Возможность создания копий и ответвлений элементов БД в режиме Copy-on-Write без копирования данных.
  • Эксперименты с архитектурой, не требующей выполнения операции VACUUM.
  • Система ограничений SQL-запросов, позволяющая блокировать излишнее потребление ресурсов при выполнении некачественных запросов.
  • Защита от переключение оптимизатора на менее эффективные планы выполнения запросов.

По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз.

При переводе на Rust использован гибридный подход, при котором код PostgreSQL вначале был обработан помощи транслятора c2rust, генерирующего unsafe-представление Rust, близкое по своей структуре к изначальному коду на Си. После обработки в c2rust было создано около 1000 crate-пакетов, которые параллельно переводились на идиоматический Rust при помощи AI-модели Claude и инструментария Conductor для распределения задач между одновременно запускаемыми субагентами.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  3. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  4. OpenNews: Проблемы с соблюдением авторского права при переписывании ScanCode на Rust при помощи AI
  5. OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
  6. OpenNews: Релиз СУБД PostgreSQL 18
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65879-pgrust
Ключевые слова: pgrust, postgresql, rust, ai
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:11, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А зачем этот клон, если есть нормальный PostgreSQL? :/
     
     
  • 2.9, aname (ok), 11:16, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Стильно, модно, молодёжно же.
     
     
  • 3.33, Аноним (33), 11:55, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –6 +/
    И прирост производительности аналитических запросов в 300 раз. А ну да ладно, мелочь, просто игрушки...
     
     
  • 4.35, xsignal (ok), 11:58, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну это сказки уже или плата за этот "прирост" - снижение надёжности на 300%
     
     
  • 5.37, нах. (?), 12:01, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –6 +/
    надежность постгреза и так всегда была околонулевой.

    Если оно проходит весь мильен регрешн тестов - оно скорее всего будет надежнее чем код написанный кожанновыми неумехами ниасилившими разобраться в собственном проекте.

     
  • 4.39, aname (ok), 12:04, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И прирост производительности аналитических запросов в 300 раз. А ну да ладно,
    > мелочь, просто игрушки...

    И мне предлагается в это просто поверить

     
  • 2.13, knike (?), 11:21, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам
     
  • 2.28, Соль земли2 (?), 11:48, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У тебя не мозги, а закрытая коробка?
     
  • 2.38, нах. (?), 12:04, 10/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.55, Аноним (55), 13:06, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Возможен перехват клиентской базы, контрактов, грантов.
     

  • 1.2, aname (ok), 11:12, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента

    Без нейросети не осиливают уже переписать.

    Rust. Итоги.

     
     
  • 2.31, Соль земли2 (?), 11:51, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А нужно ли надрываться с топором, когда есть бензопила?
     
     
  • 3.40, aname (ok), 12:05, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > А нужно ли надрываться с топором, когда есть бензопила?

    Особенно когда у тебя уже есть готовые дрова.

     

  • 1.3, Аноним (3), 11:13, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > А зачем этот клон, если есть нормальный PostgreSQL? :/

    Зачем вообще что-то делать, если уже всё есть?

     
     
  • 2.6, Аноним (1), 11:15, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в чём и вопрос. Зачем «изобретать велосипед»?
     

  • 1.4, Аноним (4), 11:13, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    И найдутся же дураки, которые этим неиронично будут пользоваться. Я уверен.
     
     
  • 2.7, aname (ok), 11:16, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там уже, скорее всего, очередь стоит.
     

  • 1.5, Аноним (5), 11:13, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Да-да-да, знаем мы эти 146% прохождения тестов на совместимость, в убунте ржавый бизибокс отваливается каждый раз когда его пытаются пропихнуть.
     
     
  • 2.14, Аноним (14), 11:22, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дык это только показывает что тесты не покрывают то, что должны покрывать.
    От улучшения тестов выигрывают все, в том числе GNU coreutils.
     
     
  • 3.16, freehck (ok), 11:26, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Дык это только показывает что тесты не покрывают то, что должны покрывать.

    Кому должны? Тесты — это не формальная спецификация. Их пишут, чтобы отлавливать регрессы, а не для того, чтобы всякие Васяны могли переписать твой продукт. Это принципиально две разные задачи.

     
  • 2.57, Colorado_House_of_Representatives (?), 13:12, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > в убунте ржавый бизибокс

    Сразу видно человека, который абсолютно не разбирается в вопросе.

    1. Не BusyBox.
    2. Прохождение тестов не гарантирует аналогичный функционал. Это буквально каждый программист знает. 100% охвата тестов не бывает. В том числе из-за неопределённого поведения Си.

     

  • 1.8, Аноним (8), 11:16, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не, ну технически можно гонять нейронку, пока все тесты не начнут выполняться. Но что там с производительностью, архитектурой?
     
     
  • 2.12, Аноним (12), 11:21, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Растофили не умеют в архитектуру, они умеют только брать чужое спроектированное и переписывать на свою ржавчину, попутно не забывая поливать помоями тех, чей дизайн они используют.
     
     
  • 3.26, Аноним (26), 11:45, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, не будьте таким категоричным, есть те кто пилят нормальные вещи в плане архитектуры: пример тот же cosmic, или создатели arti клиент tor - это не просто переписывание.
     
  • 3.30, Смузихеб забывший пароль (?), 11:49, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как показывает новость, не умеют даже переписывать - приходится обращаться к ИИ
     
  • 2.17, Пыщь (?), 11:27, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты чего? Там святагая ржавчина! У неё нет разыменованный указатель, переполнение буфера, выход за границы, УБ-УБ-УБ, ЦВЕ, дискета, снуборд.
    А ещё ... "инфантильный ты"! (тут на форуме один мощно задвигает термины, смысл которых ему, видимо, малопонятен, я лишь жалкая пародия на оного, но стараюсь не сильно отставать).
     

  • 1.10, Аноним (10), 11:18, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Когда оно тихонечко съест или испортит данные, ИИ скажет юзеру: я очень извиняюсь, вы правы, мне не стоило этого делать.
     
     
  • 2.24, Аноним (24), 11:40, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я позволил себе деструктивную операция без явного призыва сделать бэкап))) плавали знаем
     

  • 1.11, freehck (ok), 11:21, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз.

    Да неужели. Да, это быстрее, кто ж спорит. Однако любая ошибка в коде воркера приведёт к порче памяти мастер-процесса. Разработчик выбирает явно неразумный трейдофф. Я очень сомневаюсь, что транслятор смог переписать всё с учётом потоко-безопасности и без unsafe-ов.

     
     
  • 2.45, нах. (?), 12:16, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    так-то ошибки в коде воркеров только данные в базе портили, это-то точно надежно и безопастно!

     

  • 1.15, Аноним (15), 11:23, 10/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.18, Аноним (26), 11:27, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Страшно представить если кому-то придется поддерживать такой код:( Зато теперь понятно для чего нужен ИИ, так как Rust и C++ это изначально языки не для людей;)
     
     
  • 2.19, Аноним (12), 11:30, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > C++ это изначально языки не для людей

    Ты как бы врать то ври, но не завирайся. C++ появился в 1985 и до примерно C++ или чуть позже был вполне себе нормальным языком с лаконичным синтаксисом. Ты точно уверен и не брешишь, что C++ с первого дня (как ты сказал - изначально) не был для людей?

     
     
  • 3.20, Аноним (12), 11:30, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    * до примерно C++11
     
  • 3.22, Аноним (26), 11:31, 10/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.29, Аноним (29), 11:49, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Таки без С++ не было бы Qt. Да и непонятно, получилось бы Qt на каком-нибудь другом языке (на Rust бы не получилось).
     
     
  • 4.34, Аноним (26), 11:58, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да никто не отбирает заслуги С++. В свое время он отлично сослужил свою службу. Однако это не отменяет тот факт, что в текущем виде это язык для ИИ. Это уродливый и опасный монстр, над сложностью которого полностью утрачен контроль и колличество страниц в том же стандарте тому подтверждение.
     
     
  • 5.50, Аноним (50), 12:46, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    при этом лучше всего ИИ пишет на пайтоне ;)
     
  • 2.21, нах. (?), 11:30, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дык эта - клава, подержи...тьфу, опечатался - поддержи кота!

    другой вопрос - кому оно нахрен такое надо за те деньги.

    тут в существующем-то постгрезе ничего толком не получается исправить, что с клавой, что без... один вон цельный core dev пыжился-пыжился, уже почти совсем готов был (снова!) избавить нас от формата нуждающегося в vacuum - упс, оподливился. Давайте говорит все выкинем и целиком заново ядро напишем, а то мой патч не работает.

     
     
  • 3.23, Аноним (26), 11:38, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    IT гигантам это надо! Ставка на  человек + ИИ агенты уже сделана, глупо это отрицать.
     
     
  • 4.27, Аноним (24), 11:48, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ой, как будто it гиганты никогда не садились в лужу, да они вроде как только это и делают, аппаратные рейды, кому нужны сейчас? а как бродком то их продвигал, сколько раз эпл прыгала по архитектурам процов? ну, про интел думаю не надо рассказывать, так слить надо уметь, амд может оплот логики и стабильности? все деньги мира к ним потекли, и чего, драйверов нормальных написать не могут, инструкции отключают.

    > глупо это отрицать

     
     
  • 5.32, Аноним (26), 11:53, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего, скоро стадия отрицания пройдет:)
     
  • 4.46, нах. (?), 12:21, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > IT гигантам это надо! Ставка на  человек + ИИ агенты уже
    > сделана, глупо это отрицать.

    дык им ЭТО вот конкретновое (в смысле - переписанный посгрез) нафиг не надо.

    Это кому-то из импортозамещателей понадобилось. Причем при этих масштабах - вылилось совсем не в бесплатную подписку, там хорошо если в меньше $10k уложились.

    Плюс труд кожанового раба, которого кормить подавай три раза...хотя бы в неделю, а то ж сдохнет.

     
  • 3.53, freehck (ok), 12:57, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > один вон цельный core dev пыжился-пыжился, уже почти совсем готов был (снова!) избавить нас от формата нуждающегося в vacuum

    Да сомнительная изначально была затея.

    Вся разница в том, как оно ведёт себя в критической ситуации. Вот что приводит к блоатингу таблиц? Активные update-ы и delete-ы. И zheap должен, по идее, облегчать жизнь в этом случае... Но цена за это — кратное замедление этих запросов (а это очень критично, между прочим), плюс ещё сильное разрастание WAL-ов. Ну то есть овчинка выделки явно не стоит: лучше уж вакуум гонять.

     

  • 1.25, Аноним (25), 11:41, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    PostgreSQL написан на чистом C, собирается очень быстро и оставьте его на чистом C
     
  • 1.36, xsignal (ok), 12:00, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тесты проходит, а то, что не покрыто тестами - фантазия нейросети и неопределённое поведение...
     
     
  • 2.43, нах. (?), 12:15, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а то что не покрыто тестами - фантазия кожановых тяпляперов с 95 года сменивших четыре поколения. Безусловно оно надежно и эффективно, как китайская стена!

     
     
  • 3.51, Аноним (50), 12:48, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    тяпляпер так-то починить может и есть спросить с кого, с ИИ взятки гладки и поддерживать прожект сложнее привет, мир ИИ пока не очень чтоб...
     

  • 1.41, Аноним (41), 12:08, 10/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.42, Vasyan (??), 12:11, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Claude Code по утекшим исходникам уже переписали на Rust какие-то кажется корейские чуваки. Потом еще всякое улучшили, включая добавление поддержки моделей других вендоров.
    Посмотрели, что никто его юзать не собирается, несмотря на все плюшки и забили на него.
     
     
  • 2.47, нах. (?), 12:22, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Claude Code по утекшим исходникам уже переписали на Rust какие-то кажется корейские

    а где, кстати, скачать?! Мне очена надо вотъ!

     
  • 2.56, Филипп Филиппович (ok), 13:08, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Писать такое на расте или плюсах — безумие полное. Тайпскрипт, Питон и подобное. Проблемы с производительностью и ресурсами там на 99% в модели, а клиент (сравнительно с моделью, конечно) тонок. Так-то он тоже большой.
     

  • 1.44, Sm0ke85 (ok), 12:15, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты

    Сразу написали, что в случае бага - это "тесты" виноваты... ахахаха))))

     
  • 1.48, Имя (?), 12:31, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ждём дефолтом в ближайшей версии Ubuntu, успех с coreutils непременно нужно закрепить xD
     
  • 1.49, Аноним (50), 12:44, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Соседняя новость:
    73% проектов на Flathub, созданных с помощью AI, были заброшены спустя несколько месяцев
     
     
  • 2.52, заголовок (?), 12:55, 10/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "После запрета размещения в каталоге Flathub приложений, сгенерированных при помощи AI..."
     

  • 1.54, онанист (?), 13:04, 10/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ms offcie аналог когда?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру