Intuthuko yephrojekthi ye-Postgres WASM, ethuthukisa indawo ene-PostgreSQL DBMS esebenza ngaphakathi kwesiphequluli, ivuliwe. Ikhodi ehlotshaniswa nephrojekthi ivuliwe ngaphansi kwelayisensi ye-MIT. Inikeza amathuluzi okuhlanganisa umshini obonakalayo osebenza esipheqululini esinemvelo ye-Linux ehlutshiwe, iseva ye-PostgreSQL 14.5 kanye nezinsiza ezihlobene (psql, pg_dump). Usayizi wokugcina wokwakha cishe u-30 MB.
Umshini obonakalayo wakhiwe kusetshenziswa imibhalo ye-buildroot futhi yethulwa esipheqululini kusetshenziswa i-emulator ye-v86. Igobolondo lewebhu linikezwa ukusebenzisana nezinsiza ze-PostgreSQL kusuka kusiphequluli. Ukuze ufinyelele iseva ye-PostgreSQL esebenza kusiphequluli phezu kwenethiwekhi futhi wenze izicelo zenethiwekhi emshinini obonakalayo, kusetshenziswa ummeleli odlulisela ithrafikhi kusetshenziswa i-Websocket API.
Izici eziyinhloko ze-Postgres WASM:
- Ukulondoloza nokubuyisela isimo se-DBMS kufayela noma isitoreji esisekelwe kusiphequluli esisuselwe ku-IndexedDB.
- Ukwethulwa ngokushesha kwefayela elinesimo esilondoloziwe somshini obonakalayo noma ukuqaliswa okugcwele ngokuqalisa kabusha i-emulator.
- Ikhono lokwaba kusuka ku-128 kuya ku-1024 MB yenkumbulo emshinini obonakalayo.
- Ukusetha usayizi wefonti wetheminali yewebhu.
- Ukusekela ukulayisha amafayela endaweni ebonakalayo, okuhlanganisa ikhono lokulayisha izindawo ezilahlwa kusizindalwazi.
- Usekelo lokulanda amafayela endaweni ebonakalayo.
- Isungula uxhumo lwenethiwekhi olungenayo naphumayo, kwakheka umhubhe wokudlulisela amakholi kumbobo yenethiwekhi engu-5432.
Phakathi kwezindawo ezingase zisetshenziswe i-Postgres WASM wukwakhiwa kwezinhlelo zokubonisa nokuqeqesha, ukuhlela umsebenzi ngedatha kwimodi engaxhunyiwe ku-inthanethi, ukuhlaziya idatha ngenkathi ungaxhunyiwe ku-inthanethi, ukuhlola ukusebenza kwe-PostgresSQL nokucushwa, ukudala indawo yonjiniyela wendawo, ukulungisa izingcezu zendlela ethile. Isimo se-DBMS ukuze sithunyelwe kwabanye onjiniyela noma isevisi yokusekela, ukuhlola ukuphindaphinda okunengqondo okuvela kuma-DBMS angaphandle.
Source: opennet.ru