[{"data":1,"prerenderedAt":353},["ShallowReactive",2],{"navigation":3,"\u002Fguide":208,"\u002Fguide-surround":350},[4,98,175],{"title":5,"path":6,"stem":7,"children":8,"icon":97},"Guide","\u002Fguide","1.guide\u002F1.index",[9,12,17,22,46,61,79],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fguide\u002Finstallation","1.guide\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick start","\u002Fguide\u002Fquick-start","1.guide\u002F3.quick-start","i-lucide-rocket",{"title":23,"path":24,"stem":25,"children":26,"icon":45},"Server","\u002Fguide\u002Fserver","1.guide\u002F4.server\u002F1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Usage","i-lucide-server",{"title":31,"path":32,"stem":33,"icon":34},"Config file","\u002Fguide\u002Fserver\u002Fconfig-file","1.guide\u002F4.server\u002F2.config-file","i-lucide-file-cog",{"title":36,"path":37,"stem":38,"icon":39},"Options","\u002Fguide\u002Fserver\u002Foptions","1.guide\u002F4.server\u002F3.options","i-lucide-settings",{"title":41,"path":42,"stem":43,"icon":44},"Advanced","\u002Fguide\u002Fserver\u002Fadvanced","1.guide\u002F4.server\u002F4.advanced","i-lucide-flask-conical",false,{"title":47,"path":48,"stem":49,"children":50,"icon":45},"Client","\u002Fguide\u002Fclient","1.guide\u002F5.client\u002F1.index",[51,53,58],{"title":28,"path":48,"stem":49,"icon":52},"i-lucide-monitor-smartphone",{"title":54,"path":55,"stem":56,"icon":57},"Live queries","\u002Fguide\u002Fclient\u002Flive-queries","1.guide\u002F5.client\u002F2.live-queries","i-lucide-radio",{"title":41,"path":59,"stem":60,"icon":44},"\u002Fguide\u002Fclient\u002Fadvanced","1.guide\u002F5.client\u002F3.advanced",{"title":62,"path":63,"stem":64,"children":65,"icon":45},"Development socket","\u002Fguide\u002Fsocket","1.guide\u002F6.socket\u002F1.index",[66,68,71,74],{"title":28,"path":63,"stem":64,"icon":67},"i-lucide-plug",{"title":36,"path":69,"stem":70,"icon":39},"\u002Fguide\u002Fsocket\u002Foptions","1.guide\u002F6.socket\u002F2.options",{"title":41,"path":72,"stem":73,"icon":44},"\u002Fguide\u002Fsocket\u002Fadvanced","1.guide\u002F6.socket\u002F3.advanced",{"title":75,"path":76,"stem":77,"icon":78},"PGlite in dev, Postgres in prod","\u002Fguide\u002Fsocket\u002Fdevelopment-only","1.guide\u002F6.socket\u002F4.development-only","i-lucide-cloud-upload",{"title":80,"path":81,"stem":82,"children":83,"icon":45},"DevTools & tooling","\u002Fguide\u002Fdevtools","1.guide\u002F7.devtools\u002F1.index",[84,87,92],{"title":85,"path":81,"stem":82,"icon":86},"DevTools tab","i-lucide-wrench",{"title":88,"path":89,"stem":90,"icon":91},"Actions","\u002Fguide\u002Fdevtools\u002Factions","1.guide\u002F7.devtools\u002F2.actions","i-lucide-zap",{"title":93,"path":94,"stem":95,"icon":96},"Terminal","\u002Fguide\u002Fdevtools\u002Fterminal","1.guide\u002F7.devtools\u002F3.terminal","i-lucide-square-terminal","i-lucide-book-open",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":45},"Recipes","i-lucide-chef-hat","\u002Frecipes","2.recipes",[104,116,138,159,171],{"title":105,"path":106,"stem":107,"children":108,"icon":45},"Migrations","\u002Frecipes\u002Fmigrations","2.recipes\u002F1.migrations\u002F1.index",[109,111],{"title":28,"path":106,"stem":107,"icon":110},"i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Edited migrations","\u002Frecipes\u002Fmigrations\u002Fedited-migrations","2.recipes\u002F1.migrations\u002F2.edited-migrations","i-lucide-file-diff",{"title":117,"path":118,"stem":119,"children":120,"icon":45},"Testing","\u002Frecipes\u002Ftesting","2.recipes\u002F2.testing\u002F1.index",[121,123,128,133],{"title":28,"path":118,"stem":119,"icon":122},"i-lucide-test-tube",{"title":124,"path":125,"stem":126,"icon":127},"Isolation","\u002Frecipes\u002Ftesting\u002Fisolation","2.recipes\u002F2.testing\u002F2.isolation","i-lucide-git-fork",{"title":129,"path":130,"stem":131,"icon":132},"vitest","\u002Frecipes\u002Ftesting\u002Fvitest","2.recipes\u002F2.testing\u002F3.vitest","i-simple-icons-vitest",{"title":134,"path":135,"stem":136,"icon":137},"@nuxt\u002Ftest-utils","\u002Frecipes\u002Ftesting\u002Fnuxt-test-utils","2.recipes\u002F2.testing\u002F4.nuxt-test-utils","i-simple-icons-nuxt",{"title":139,"path":140,"stem":141,"children":142,"icon":45},"Deploy","\u002Frecipes\u002Fdeploy","2.recipes\u002F3.deploy\u002F1.index",[143,144,149,154],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147,"icon":148},"Any Postgres","\u002Frecipes\u002Fdeploy\u002Fpostgres","2.recipes\u002F3.deploy\u002F2.postgres","i-lucide-database",{"title":150,"path":151,"stem":152,"icon":153},"Netlify","\u002Frecipes\u002Fdeploy\u002Fnetlify","2.recipes\u002F3.deploy\u002F3.netlify","i-simple-icons-netlify",{"title":155,"path":156,"stem":157,"icon":158},"Neon","\u002Frecipes\u002Fdeploy\u002Fneon","2.recipes\u002F3.deploy\u002F4.neon","i-simple-icons-neon",{"title":160,"path":161,"stem":162,"children":163,"icon":45},"Outside Nuxt","\u002Frecipes\u002Foutside-nuxt","2.recipes\u002F4.outside-nuxt\u002F1.index",[164,167],{"title":165,"path":161,"stem":162,"icon":166},"Config and provider","i-lucide-package",{"title":168,"path":169,"stem":170,"icon":67},"Socket server","\u002Frecipes\u002Foutside-nuxt\u002Fsocket","2.recipes\u002F4.outside-nuxt\u002F2.socket",{"title":172,"path":173,"stem":174,"icon":67},"Nitro's useDatabase","\u002Frecipes\u002Fnitro-database","2.recipes\u002F5.nitro-database",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":45},"Reference","i-lucide-code-xml","\u002Freference","3.reference",[181,185,189,193,198,203],{"title":182,"path":183,"stem":184,"icon":34},"Config files","\u002Freference\u002Fconfig-files","3.reference\u002F1.config-files",{"title":186,"path":187,"stem":188,"icon":39},"Module options","\u002Freference\u002Fmodule-options","3.reference\u002F2.module-options",{"title":190,"path":191,"stem":192,"icon":67},"Socket options","\u002Freference\u002Fsocket-options","3.reference\u002F3.socket-options",{"title":194,"path":195,"stem":196,"icon":197},"Exports","\u002Freference\u002Fexports","3.reference\u002F4.exports","i-lucide-boxes",{"title":199,"path":200,"stem":201,"icon":202},"Hooks","\u002Freference\u002Fhooks","3.reference\u002F5.hooks","i-lucide-anchor",{"title":204,"path":205,"stem":206,"icon":207},"Environment","\u002Freference\u002Fenvironment","3.reference\u002F6.environment","i-lucide-variable",{"id":209,"title":10,"body":210,"description":343,"extension":344,"links":345,"meta":346,"navigation":347,"path":6,"seo":348,"stem":7,"__hash__":349},"docs\u002F1.guide\u002F1.index.md",{"type":211,"value":212,"toc":338},"minimark",[213,225,307,314],[214,215,216,217,224],"p",{},"Nuxt PGlite wires ",[218,219,223],"a",{"href":220,"rel":221},"https:\u002F\u002Fpglite.dev",[222],"nofollow","PGlite",", Postgres compiled to WebAssembly, into Nuxt. It comes in independent pieces you combine as you like:",[226,227,228,245,269,275,281,293],"ul",{},[229,230,231,235,236,240,241,244],"li",{},[232,233,234],"strong",{},"Server instance",": ",[237,238,239],"code",{},"usePGlite()"," in your Nitro routes, a PGlite created on first use and configured in ",[237,242,243],{},"server\u002Fpglite.config.ts",".",[229,246,247,249,250,253,254,257,258,261,262,265,266,244],{},[232,248,62],{},": that database served over the Postgres wire protocol while ",[237,251,252],{},"nuxt dev"," runs, so ",[237,255,256],{},"pg",", postgres.js, Drizzle, ",[237,259,260],{},"drizzle-kit"," or ",[237,263,264],{},"psql"," reach it through ",[237,267,268],{},"DATABASE_URL",[229,270,271,274],{},[232,272,273],{},"Client instance",": an in-browser PGlite in a Web Worker shared between tabs, with live-query composables. Off by default.",[229,276,277,280],{},[232,278,279],{},"DevTools",": a PGlite tab in Nuxt DevTools to inspect each instance, run SQL and trigger your own actions.",[229,282,283,235,285,288,289,292],{},[232,284,105],{},[237,286,287],{},"nuxt-pglite\u002Fmigrations"," applies a folder of SQL migration files to the local database from ",[237,290,291],{},"init",", the same files production is built from.",[229,294,295,235,297,300,301,304,305,244],{},[232,296,117],{},[237,298,299],{},"nuxt-pglite\u002Ftesting"," builds a database from your server config for the test suite, in memory and forkable per test, with a vitest ",[237,302,303],{},"globalSetup"," and a recipe for ",[237,306,134],{},[214,308,309,310,313],{},"Each piece is only in your bundle when it is enabled. ",[237,311,312],{},"@electric-sql\u002Fpglite"," is a peer dependency: you pick its version and import its extensions yourself, and the types follow your config.",[315,316,317,323,328,333],"card-group",{},[318,319,320],"card",{"icon":16,"title":13,"to":14},[214,321,322],{},"Add the module and PGlite to your project.",[318,324,325],{"icon":21,"title":18,"to":19},[214,326,327],{},"A server route and a component, each with its own database.",[318,329,330],{"icon":78,"title":75,"to":76},[214,331,332],{},"The headline recipe: no database to install locally, any Postgres in production.",[318,334,335],{"icon":97,"title":176,"to":183},[214,336,337],{},"Every option, export, hook and environment variable.",{"title":339,"searchDepth":340,"depth":341,"links":342},"",1,2,[],"What Nuxt PGlite is and the pieces it is made of.","md",null,{},{"icon":11},{"title":10,"description":343},"rM_vyDn5_S4WpekA1QiiC_nLhuYHerlo6JA2UfjE4pw",[345,351],{"title":13,"path":14,"stem":15,"description":352,"icon":16,"children":-1},"Add the module and PGlite to your Nuxt project.",1791474259253]