{"id":22792,"date":"2022-10-06T05:11:05","date_gmt":"2022-10-06T03:11:05","guid":{"rendered":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/"},"modified":"2022-10-06T05:11:05","modified_gmt":"2022-10-06T03:11:05","slug":"postgresql-su-browser-con-webassembly","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/","title":{"rendered":"PostgreSQL su browser con WebAssembly"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><strong>Postgres-wasm<\/strong> \u00e8 il nome di un progetto rilasciato sotto licenza Open Source grazie al quale <strong>PostgreSQL<\/strong> \u00e8 stato portato su <strong>WebAssembly<\/strong>. Si tratta di una soluzione sviluppata grazie ad una collaborazione tra Supabase, provider di database in Cloud, e Snaplet, societ\u00e0 specializzata nella programmazione per i database.<\/p>\n<h2 id=\"cos-e-postgres-wasm\">Cos&#8217;\u00e8 Postgres-wasm<\/h2>\n<p>Non si tratta del primo progetto di questo tipo, questa estate infatti il team di CrunchyData ha lanciato una demo della sua proposta per il porting di PostgreSQL in <a href=\"https:\/\/www.html.it\/magazine\/siti-web-troppo-codice-di-terze-parti-e-basse-performance\/\" target=\"_blank\" rel=\"noopener\">WebAssembly<\/a> che ha ispirato gli stessi autori di Postgres-wasm, in quel caso per\u00f2 non si trattava di una piattaforma Open Source.<\/p>\n<p>Grazie a Postgres-wasm, PostgreSQL pu\u00f2 essere eseguito direttamente tramite browser per la navigazione Web, a questo scopo \u00e8 stata utilizzata la distribuzione <a href=\"https:\/\/www.html.it\/guide\/guida-linux\/\" target=\"_blank\" rel=\"noopener\">Linux<\/a> <strong>Buildroot<\/strong>, caratterizzata da dimensioni estremamente ridotte, e l&#8217;emulatore <strong>v86<\/strong> che permette di replicare il funzionamento di un terminale x86 in Wasm. <\/p>\n<p>Nel complesso tutto il progetto \u00e8 contenuto in una singola istantanea delle dimensioni di 12MB con cui eseguire un server PostgreSQL.<\/p>\n<p>Come ammesso dagli sviluppatori di Postgres-wasm, le performance in fase di esecuzione non sono molto elevate ma l&#8217;obbiettivo di rendere PostgreSQL 14.5 utilizzabile da browser con tanto di interfaccia da linea di comando <code>psql<\/code> \u00e8 stato raggiunto con successo.<\/p>\n<p><img loading=\"lazy\" src=\"https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser.jpg\" alt=\"\" class=\"alignnone size-full wp-image-421304\" srcset=\"https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser.jpg 1920w, https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser-300x220.jpg 300w, https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser-600x440.jpg 600w, https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser-1536x1126.jpg 1536w\" sizes=\"(max-) 100vw, 1920px\"\/><\/p>\n<h2 id=\"caratteristiche-e-limiti-di-postgres-wasm\">Caratteristiche e limiti di Postgres-wasm<\/h2>\n<p>La persistenza dei dati \u00e8 stata affidata a <strong>IndexedDB<\/strong> che \u00e8 sostanzialmente un&#8217;API (<em>Application Programming Interface<\/em>) per l&#8217;implementazione di database su browser, si possono inoltre caricare dump e CSV da manipolare direttamente tramite l&#8217;emulatore.<\/p>\n<p>Ma quale potrebbe essere l&#8217;utilit\u00e0 di una versione di PostgreSQL accessibile direttamente da browser? Tra gli ambiti di applicazione ipotizzabili vi \u00e8 per esempio quella delle didattica, con la possibilit\u00e0 di offrire un&#8217;installazione del DBMS (o qualcosa di molto simile) senza dover configurare un ambiente completo per i test.<\/p>\n<p>L&#8217;<a href=\"https:\/\/supabase.com\/blog\/postgres-wasm\" target=\"_blank\" rel=\"noopener\">idea<\/a> di utilizzare una Virtual Machine per il funzionamento di Postgres-wasm non \u00e8 forse ottimale dal punto di vista delle prestazioni, probabilmente una compilazione diretta in Wasm sarebbe stata pi\u00f9 usabile ma un&#8217;impostazione di questo genere avrebbe posto dei problemi di dipendenze tra PostgreSQL e sistema operativo ospitante.<\/p>\n<\/p><\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/www.html.it\/magazine\/postgresql-su-browser-con-webassembly\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Postgres-wasm \u00e8 il nome di un progetto rilasciato sotto licenza Open Source grazie al quale PostgreSQL \u00e8 stato portato su WebAssembly. Si tratta di una soluzione sviluppata grazie ad una collaborazione tra Supabase, provider di database in Cloud, e Snaplet, societ\u00e0 specializzata nella programmazione per i database. Cos&#8217;\u00e8 Postgres-wasm Non si tratta del primo progetto&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"Postgres-wasm \u00e8 il nome di un progetto rilasciato sotto licenza Open Source grazie al quale PostgreSQL \u00e8 stato portato su WebAssembly. Si tratta di una soluzione sviluppata grazie ad una collaborazione tra Supabase, provider di database in Cloud, e Snaplet, societ\u00e0 specializzata nella programmazione per i database. Cos&#8217;\u00e8 Postgres-wasm Non si tratta del primo progetto...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-06T03:11:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser.jpg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"PostgreSQL su browser con WebAssembly\",\"datePublished\":\"2022-10-06T03:11:05+00:00\",\"dateModified\":\"2022-10-06T03:11:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\"},\"wordCount\":337,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\",\"name\":\"PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2022-10-06T03:11:05+00:00\",\"dateModified\":\"2022-10-06T03:11:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL su browser con WebAssembly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/","og_locale":"it_IT","og_type":"article","og_title":"PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia","og_description":"Postgres-wasm \u00e8 il nome di un progetto rilasciato sotto licenza Open Source grazie al quale PostgreSQL \u00e8 stato portato su WebAssembly. Si tratta di una soluzione sviluppata grazie ad una collaborazione tra Supabase, provider di database in Cloud, e Snaplet, societ\u00e0 specializzata nella programmazione per i database. Cos&#8217;\u00e8 Postgres-wasm Non si tratta del primo progetto...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2022-10-06T03:11:05+00:00","og_image":[{"url":"https:\/\/www.html.it\/app\/uploads\/2022\/10\/postgres-wasm-browser.jpg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"PostgreSQL su browser con WebAssembly","datePublished":"2022-10-06T03:11:05+00:00","dateModified":"2022-10-06T03:11:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/"},"wordCount":337,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/","name":"PostgreSQL su browser con WebAssembly - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2022-10-06T03:11:05+00:00","dateModified":"2022-10-06T03:11:05+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/postgresql-su-browser-con-webassembly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL su browser con WebAssembly"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22792"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=22792"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22792\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=22792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=22792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=22792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}