The OpenNET Project / Index page

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

Проект Postgres WASM подготовил работающее в браузере окружение с СУБД PostgreSQL

03.10.2022 20:55

Открыты наработки проекта Postgres WASM, развивающего окружение с СУБД PostgreSQL, работающее внутри браузера. Связанный с проектом код открыт под лицензией MIT. Предлагается инструментарий для сборки работающей в браузере виртуальной машины c урезанным Linux-окружением, сервером PostgreSQL 14.5 и сопутствующими утилитами (psql, pg_dump). Размер итоговой сборки около 30 МБ.

Начинка виртуальной машины формируется при помощи скриптов buildroot и запускается в браузере с использованием эмулятора v86. Для взаимодействия с утилитами PostgreSQL из браузера поставляется web-оболочка. Для обращения к запущенному в браузере серверу PostgreSQL по сети и выполнению сетевых запросов из виртуальной машины используется прокси, пробрасывающий трафик при помощи API Websocket.

Основные возможности Postgres WASM:

  • Сохранение и восстановление состояния СУБД из файла или браузерного хранилища на базе IndexedDB.
  • Быстрый запуск из файла с сохранённым состоянием виртуальной машины или полный запуск с перезагрузкой эмулятора.
  • Возможность выделения виртуальной машине от 128 до 1024МБ памяти.
  • Настройка размера шрифта web-терминала.
  • Поддержка загрузки файлов в виртуальное окружение, в том числе можно загружать дампы БД.
  • Поддержка скачивания файлов из виртуального окружения.
  • Установка входящих и исходящих сетевых соединений, создание туннеля для проброса обращений к сетевому порту 5432.

Среди возможных областей применения Postgres WASM упоминается создание демонстрационных и обучающих систем, организация работы с данными в offline-режиме, анализ данных при нахождении в offline-режиме, тестирование функциональности и конфигураций PostgresSQL, создание локального окружения разработчика, подготовка срезов определённого состояния СУБД для отправки другим разработчикам или в службу поддержки, тестирование логической репликации с внешних СУБД.



  1. Главная ссылка к новости (https://supabase.com/blog/post...)
  2. OpenNews: Обновление PostgreSQL 14.4 с исправлением повреждения индексов
  3. OpenNews: Выпуск FerretDB 0.3, реализации MongoDB на базе СУБД PostgreSQL
  4. OpenNews: Доступен Pgfe 2, клиентский C++ API к PostgreSQL
  5. OpenNews: Конфликт, связанный с торговыми марками PostgreSQL, остаётся не урегулирован
  6. OpenNews: Релиз СУБД PostgreSQL 14
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57863-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, НяшМяш (ok), 21:49, 03/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я думал, они постгрю в васм загнали. А тут всего-лишь в эмуляторе запустили.
     
     
  • 2.19, Alladin (?), 05:06, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не просто в эмуляторе.. а в эмуляторе x86:)
     
     
  • 3.30, Аноним (30), 13:02, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А в каком надо было?
     
     
  • 4.40, другой аноним (?), 23:58, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    risc-v конечно!

    Чтоб совсем уже тормозило, зато - шва6ооодка!

     

  • 1.4, Минона (ok), 21:56, 03/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    О, WebPostgreSQL, круто!
     
  • 1.5, Dzen Python (ok), 22:42, 03/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    А ведь я шутил, ребят! Шутил!
    Про интерпретатор питона внутри js-виртуалки внутри виртуалки-интерпретатора в байткоде ebpf внутри линукса внутри виртуальной машины , написанной на java внутри java-машины внутри руби-скрипта внутри питонового скрипта, исполняющего интерпретатором питона внутри js-виртуалки внутри виртуалки-интерпретатора в байткоде ebpf...

    А-А-А-А-А!

     
     
  • 2.7, Аноним (7), 23:12, 03/10/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    у вас мало абстракций
     
     
  • 3.13, Dzen Python (ok), 00:37, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вглядись, эти абстакции рекурсивны?
     
  • 3.14, freehck (ok), 01:36, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да он же шутит, так что весь смех -- чисто в перечислении. Не интересно же по существу.

    А я вот расскажу, что как-то бутстрапнул свой местячковый диалект Lisp-а из R5RS-схемы, реализованной на Ocaml, чтобы обрабатывать DSL, основанный на sexp-ах. Смешно тут то, что это было на самом деле.

     
     
  • 4.29, Аноним (29), 11:37, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем это делать?

    Написал бы парсер секспов на окамле, и успокоился.

    И свой дсл на окамле писал бы ровно так же, как и на кустарном лиспе.

     
     
  • 5.34, freehck (ok), 14:07, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем-зачем. Ну вот такое вот попалось легаси! =)
    Там уже и схема была корявенькая, и дсл в каком-то виде тоже был. Легче было допилить до нужного состояния, чем переписывать с нуля.
     
     
  • 6.47, Michael Shigorin (ok), 22:45, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чем схемы-то не хватило?
     
     
  • 7.50, freehck (ok), 15:46, 06/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем схемы-то не хватило?

    Нужно было синтаксис расширять для обработки DSL. Defmacro в схему встроен не был, а я ненавижу гигиенические макросы. Я приверженец defmacro.

    Да, при помощи defmacro можно легко выстрелить себе в ногу. Но то, что гигмакросы описывают десятками строк, вынося мозги как пишущему, так и читающем потом это добро, defmacro записывает в несколько строчек, которые легко как написать, так и прочитать. Редкий случай приемлемого размена безопасности на мощность.

     
  • 2.25, Lex20 (ok), 10:52, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Был такой фильм "Тринадцатый этаж". Там внутри эмуляции мира создали эмуляцию мира. Узнать что мы не в эмуляции живём до сих пор философия не знает как. Могу предположить что скорость света в вакууме может дать подсказку, по аналогии с вашим коменнтарием о скорости эмуляции одного в другом.
     
     
  • 3.31, Аноним (30), 13:05, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Философия вообще ничего не знает. Сидят шизики придумывают сказки, из доказателоьств - мне так кажется и мне так нравится. А ученые пытались выявить дискретность пространства, пока что на той точности, что удалось проверить, пространство непрерывно
     
     
  • 4.35, ыы (?), 14:22, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дискретность пространства "изнутри" обнаружить невозможно. Но это и не надо, поскольку непрерывность пространства не является доказательством его "невложенности". Компьютеры могут быть аналоговыми :)
     
     
  • 5.41, pofigist (?), 08:44, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Планковская длинна, время и т.д.?
     
  • 4.39, Lex20 (ok), 21:56, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А мы тут двоичной дискретной логикой непрерывные процессы симулируем, электроны двигаем по желанию пальца на экране или клавиатуре. Кстати, электрон вроде как не разделили на части, может это и есть единица измерения памяти внешнего мира. Т.е. пространство это сплошные нули, а электрон - единица. Тогда протон это -1, а нейтрон не вписывается в модель, его потом куда-нить впишем, теория струн тоже ведь не просто так придумалась. Короче если наш мир дискретный то он троичный(или четверичный если нейтрон всё-таки 0). А если позитрон учесть, то пятиричный. -2 протон, -1 позитрон, 0 нейтрон, 1 пустота, 2 электрон. Эх, цветные сны сегодня будут.
     
     
  • 5.44, Аноним (29), 17:11, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очаровательно!
     
     
  • 6.48, Michael Shigorin (ok), 22:46, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Странно.
     
  • 3.36, ыы (?), 14:26, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут вопрос скорее к философии. Возможно конечность скорости света как раз и должна служить неоспоримым доказательством симуляции обозримого мироздания. Мы просто  возможно не понимаем этого. И тут именно философия должна дать ответ на этот вопрос.
     
  • 3.43, Аноним (43), 16:13, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Узнать что мы не в эмуляции живём до сих пор философия не знает как

    Судя по существованию принципа неопределенности Гейзенберга, нечего доказывать. Очевидно же, что координаты частиц и количество энергии хранятся в float и с физикой иногда происходит дичь. При попытке проверить равенство координат и количества энергии с ранее записанными точными данными, результат всегда false.

     

  • 1.6, Судья из Калифорнии с опытом программирования (?), 22:58, 03/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Дум в думе запустили. Ждём постгрес на хранимых процедурах.
     
     
  • 2.12, Dzen Python (ok), 00:37, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Знаешь, а ведь неплохая идея - на редстоуновой схеме майнкрампфа запустить x86 эмулятор, в котором установить DOS и win3.11 для дума...
     
     
  • 3.20, фф (?), 06:46, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    для дума вин не нужён
     
  • 2.26, Lex20 (ok), 10:52, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Змейку в Марио. Вот бы ещё дум в Марио.
     

  • 1.9, darkshvein (ok), 23:54, 03/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    НАЧАЛОСЬ
     
  • 1.10, Аноним (10), 00:04, 04/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Лучше бы нормальный GUI сделали, а не хрень под именем pgadmin4
     
     
  • 2.11, Kartas (?), 00:25, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Dbeaver
     
     
  • 3.23, Анонимов Аноним Анонимович (?), 08:33, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    adminer.php ежжи
     
  • 2.33, Аноним (33), 13:58, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Теперь сделают на Electron.
     
     
  • 3.46, pofigist (?), 20:42, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще-то в этой сфере до сих пор в моде жабка...
    Так что переход на электрон позволит не только улучшить качество софта, но и снизить требования по ресурсам...
     

  • 1.16, penetrator (?), 02:13, 04/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    хочу поинтересоваться, а зачем?

    тем более это легкий постгрес, целый линукс с виртуалкой

     
  • 1.17, Alladin (?), 02:29, 04/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Как это прошло мимо опеннетчиков.. ведь v86 написан на rust:)
     
     
  • 2.32, Аноним (32), 13:28, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    поэтому и прошло - иначе они сгорели бы в комментариях
     

  • 1.21, Дворник (??), 07:19, 04/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    рекурсия божественна!
     
     
  • 2.22, MegaDiablo (?), 08:06, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только если она с меморизацией ;)
     
     
  • 3.45, Аноним (45), 20:09, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вам смешно, а я джва года хочу такую рекурсию и почти сделал, только там ещё и cps на одной из итераций был.
     

  • 1.24, Аноним (24), 08:48, 04/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >запускается в браузере с использованием эмулятора v86.

    А какой гипервизер сейчас понтовее Firefox или Chrome?

     
     
  • 2.27, Аноним (27), 11:15, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я свою операционку запускаю в Фаерфоксе, он меньше жрёт.
     
     
  • 3.38, Тим БернесЛи (?), 17:39, 04/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй Falcon - быстродействие стремится к нативному
     

  • 1.42, Аноним (42), 10:24, 05/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем это? Браузер должен котиков показывать и больше ничего!
     
     
  • 2.49, Michael Shigorin (ok), 22:48, 05/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что SELECT'нете, то и покажет.
     

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



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

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