postgres-wasm, a WebAssembly-vel rendelkező böngészőben futó PostgreSQL-kiszolgáló

postgres-wasm

A Postgres-wasm egy olyan projekt, amelyben a PostgreSQL-t a WebAssembly-re portolták

A közelmúltban egy bejelentésben tették ismertté ingyenes hozzáférés a postgres-wasm-hoz, amely egy PostgreSQL szerver amely böngészőben fut, és a szolgáltatások teljes készletét kínálja, beleértve az állapot fennmaradását a böngészőben, a visszaállítást a pg_dump fájlból és a logikai replikációt egy távoli adatbázisból.

postgres-wasm en nyílt forráskódú licenc alatt kiadott projekt, amelynek köszönhetően a PostgreSQL átkerült a WebAssembly-re. Ezt a megoldást a Supabase felhőalapú adatbázis-szolgáltató és a Snaplet, az adatbázis-programozásra szakosodott cég együttműködésének köszönhetően fejlesztették ki.

„Ma elindítjuk a postgres-wasm programot barátainkkal a Snapletnél” – mondta Mark Burggraf, a Supabase mérnöke.

Azok számára, akik nincsenek tudatában postgres, ezt tudniuk kellene az egyik legfejlettebb nyílt forráskódú adatbázis-kezelő rendszer. Funkciókban gazdag, robusztus adattípusokkal, hatékony indexeléssel és számos beépített funkcióval, amelyek segítségével leegyszerűsíthető az adathalom, és lehetővé teszi a fejlesztők számára, hogy az alkalmazásuk felépítésére összpontosítsanak. A Postgres több, mint egy relációs adatbázis, az Ön megbízható adatplatformja lett.

A Postgres-wasmról

A Supabase nem az első, amelyik a Postgrest böngészőben is működőképessé teszi; ezt a címet a Crunchy Data csapata kapja, akik egy hónappal ezelőtt megosztották véleményüket a HN-ről. A Crunchy Data szabadalmazott verziójának nyílt forráskódú változatának kifejlesztésére törekvő Supabase a Snaplettel együttműködve létrehozta a Postgres-wasm-ot.

A Postgres-wasm-nak köszönhetően a PostgreSQL közvetlenül futtatható böngészőn keresztül Webes böngészéshez a Buildroot Linux disztribúciót használták, amelyet rendkívül csökkentett méretek jellemeztek, és a v86 emulátort, amely lehetővé teszi az x86-os terminál működésének replikálását.

Részéről WebAssembly, ennek célja, hogy lehetővé tegye nagy teljesítményű alkalmazások weboldalakra való építését, „de nem tesz webspecifikus feltételezéseket és nem biztosít webspecifikus funkciókat, így más környezetben is használható. Ez egy nyílt szabvány, amelynek célja bármilyen nyelv támogatása bármilyen operációs rendszeren, és a gyakorlatban az összes legnépszerűbb nyelv már rendelkezik legalább bizonyos szintű támogatással. A Supabase a v86-ot használja a virtuális gép futtatásához a böngészőben.

A Postgres böngészőben való futtatása nagyszerű, de a PgAdmin segítségével még jobb csatlakozni hozzá. Sajnos a böngészők blokkolják a virtuális gép TCP-hálózatához való hozzáférést. Ennek megkerülésére A Supabase websocketeken keresztül irányítja a forgalmat. A Websockproxy elágazását használják, amely lehetővé teszi az emulátor számára, hogy a websocket porton keresztül küldött adatokat TCP-csomagokká alakítva kommunikáljon az internettel. A Websockproxy fork lehetőséget ad a Postgres szerver alagútvezetésére.

Belső jellemzők amelyek kiemelkednek a projektből, a következőket említik:

  • Postgres 14.5, psql, pg_dump stb
  • Állapot mentése és visszaállítása fájlba/fájlból.
  • Mentse és állítsa vissza a Postgres állapotát a böngésző tárhelyére/böngésző tárhelyére (IndexedDB).
  • Gyors indítás állapotfájlból vagy teljes emulátor visszaállítása.
  • Memória konfigurációs lehetőségek 128 MB és 1024 MB között.
  • Állítsa be a terminál betűméretét.
  • Fájlok feltöltése az emulátorba (beleértve a CSV- és adatbáziskiíratásokat).
  • Emulátor fájlok letöltése.
  • Kimenő hálózati kapcsolat az emulátor és az internet között.
  • Bejövő hálózati alagút az emulátor 5432-es postgres portjához.

Általánosságban elmondható, hogy a teljes projekt egyetlen 12 MB méretű pillanatképen található, amellyel a PostgreSQL-kiszolgáló futtatható.

Ahogy a Postgres-wasm fejlesztői elismerik, a futásidejű teljesítmény nem túl magas, de önmagában a cél, hogy a PostgreSQL 14.5 használható legyen teljes böngészőből, psql parancssori felülettel, sikeresen megvalósult.

Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket a következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.