[{"data":1,"prerenderedAt":786},["ShallowReactive",2],{"navigation":3,"\u002Fguide\u002Fsocket\u002Foptions":208,"\u002Fguide\u002Fsocket\u002Foptions-surround":781},[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":36,"body":210,"description":774,"extension":775,"links":776,"meta":777,"navigation":778,"path":69,"seo":779,"stem":70,"__hash__":780},"docs\u002F1.guide\u002F6.socket\u002F2.options.md",{"type":211,"value":212,"toc":771},"minimark",[213,233,388,623,628,649,708,714,745,767],[214,215,216,220,221,224,225,228,229,232],"p",{},[217,218,219],"code",{},"pglite.socket"," takes ",[217,222,223],{},"false"," (the default), ",[217,226,227],{},"true"," (every default) or an object. It is development only, and independent of ",[217,230,231],{},"server.enabled",":",[234,235,241],"pre",{"className":236,"code":237,"filename":238,"language":239,"meta":240,"style":240},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  pglite: {\n    socket: {\n      host: '127.0.0.1',\n      port: 5433,\n      env: 'DATABASE_URL',\n      maxConnections: 10,\n      idleInTransactionTimeout: 60_000,\n    },\n  },\n})\n","nuxt.config.ts","ts","",[217,242,243,267,279,289,310,324,341,354,367,373,379],{"__ignoreMap":240},[244,245,248,252,255,259,263],"span",{"class":246,"line":247},"line",1,[244,249,251],{"class":250},"s7zQu","export",[244,253,254],{"class":250}," default",[244,256,258],{"class":257},"s2Zo4"," defineNuxtConfig",[244,260,262],{"class":261},"sTEyZ","(",[244,264,266],{"class":265},"sMK4o","{\n",[244,268,270,274,276],{"class":246,"line":269},2,[244,271,273],{"class":272},"swJcz","  pglite",[244,275,232],{"class":265},[244,277,278],{"class":265}," {\n",[244,280,282,285,287],{"class":246,"line":281},3,[244,283,284],{"class":272},"    socket",[244,286,232],{"class":265},[244,288,278],{"class":265},[244,290,292,295,297,300,304,307],{"class":246,"line":291},4,[244,293,294],{"class":272},"      host",[244,296,232],{"class":265},[244,298,299],{"class":265}," '",[244,301,303],{"class":302},"sfazB","127.0.0.1",[244,305,306],{"class":265},"'",[244,308,309],{"class":265},",\n",[244,311,313,316,318,322],{"class":246,"line":312},5,[244,314,315],{"class":272},"      port",[244,317,232],{"class":265},[244,319,321],{"class":320},"sbssI"," 5433",[244,323,309],{"class":265},[244,325,327,330,332,334,337,339],{"class":246,"line":326},6,[244,328,329],{"class":272},"      env",[244,331,232],{"class":265},[244,333,299],{"class":265},[244,335,336],{"class":302},"DATABASE_URL",[244,338,306],{"class":265},[244,340,309],{"class":265},[244,342,344,347,349,352],{"class":246,"line":343},7,[244,345,346],{"class":272},"      maxConnections",[244,348,232],{"class":265},[244,350,351],{"class":320}," 10",[244,353,309],{"class":265},[244,355,357,360,362,365],{"class":246,"line":356},8,[244,358,359],{"class":272},"      idleInTransactionTimeout",[244,361,232],{"class":265},[244,363,364],{"class":320}," 60_000",[244,366,309],{"class":265},[244,368,370],{"class":246,"line":369},9,[244,371,372],{"class":265},"    },\n",[244,374,376],{"class":246,"line":375},10,[244,377,378],{"class":265},"  },\n",[244,380,382,385],{"class":246,"line":381},11,[244,383,384],{"class":265},"}",[244,386,387],{"class":261},")\n",[389,390,391,409],"table",{},[392,393,394],"thead",{},[395,396,397,401,404,407],"tr",{},[398,399,400],"th",{},"Option",[398,402,403],{},"Type",[398,405,406],{},"Default",[398,408],{},[410,411,412,441,459,478,511,544,568,592],"tbody",{},[395,413,414,420,425,430],{},[415,416,417],"td",{},[217,418,419],{},"host",[415,421,422],{},[217,423,424],{},"string",[415,426,427],{},[217,428,429],{},"'127.0.0.1'",[415,431,432,433,436,437,440],{},"Interface to listen on. With ",[217,434,435],{},"0.0.0.0"," or ",[217,438,439],{},"::",", the URL points at the loopback address.",[395,442,443,448,453,456],{},[415,444,445],{},[217,446,447],{},"port",[415,449,450],{},[217,451,452],{},"number",[415,454,455],{},"a free port",[415,457,458],{},"Pin it so that tools outside Nuxt can find the socket.",[395,460,461,466,470,472],{},[415,462,463],{},[217,464,465],{},"path",[415,467,468],{},[217,469,424],{},[415,471],{},[415,473,474,475,477],{},"A directory to serve a Unix socket from, instead of ",[217,476,419],{},". See below.",[395,479,480,485,490,495],{},[415,481,482],{},[217,483,484],{},"env",[415,486,487],{},[217,488,489],{},"string | false | SocketEnv",[415,491,492],{},[217,493,494],{},"'DATABASE_URL'",[415,496,497,498,503,504,507,508,510],{},"What is ",[499,500,502],"a",{"href":501},"\u002Fguide\u002Fsocket#environment-variables","exported",", each variable only while unset: a name for the URL, a map (",[217,505,506],{},"SocketEnv",") of names to strings or to functions of the URL, or ",[217,509,223],{}," for nothing.",[395,512,513,518,528,530],{},[415,514,515],{},[217,516,517],{},"provider",[415,519,520,523,524,527],{},[217,521,522],{},"SocketProvider"," (",[217,525,526],{},"'netlify'",")",[415,529],{},[415,531,532,533,537,538,540,541,543],{},"Exports a host's ",[499,534,536],{"href":535},"\u002Fguide\u002Fsocket#provider-presets","database variables"," in place of ",[217,539,336],{},"; ",[217,542,484],{}," is merged over them.",[395,545,546,551,555,558],{},[415,547,548],{},[217,549,550],{},"maxConnections",[415,552,553],{},[217,554,452],{},[415,556,557],{},"unlimited",[415,559,560,561,523,564,567],{},"Clients beyond this many are refused with SQLSTATE ",[217,562,563],{},"53300",[217,565,566],{},"too_many_connections",").",[395,569,570,575,579,585],{},[415,571,572],{},[217,573,574],{},"idleInTransactionTimeout",[415,576,577],{},[217,578,452],{},[415,580,581,584],{},[217,582,583],{},"0"," (off)",[415,586,587,588,591],{},"Milliseconds a client may sit idle inside a transaction or pipeline before it is disconnected with SQLSTATE ",[217,589,590],{},"25P03",", which rolls the transaction back and frees the database for the others.",[395,593,594,599,604,609],{},[415,595,596],{},[217,597,598],{},"devtoolsActions",[415,600,601],{},[217,602,603],{},"PGliteSocketAction[]",[415,605,606],{},[217,607,608],{},"[]",[415,610,611,618,619,622],{},[499,612,614,617],{"href":613},"\u002Fguide\u002Fdevtools\u002Factions#socket-actions",[217,615,616],{},"socket"," actions",", run in the Nuxt process next to the socket, from DevTools or the terminal. Other modules add theirs through the ",[217,620,621],{},"pglite:devtools:actions"," hook.",[624,625,627],"h2",{"id":626},"unix-socket","Unix socket",[214,629,630,632,633,637,638,641,642,645,646,648],{},[217,631,465],{}," is a ",[634,635,636],"strong",{},"directory",", as Postgres clients expect when given a directory as host. The socket file inside it is named ",[217,639,640],{},".s.PGSQL.\u003Cport>",", with ",[217,643,644],{},"5432"," unless ",[217,647,447],{}," is set. A relative path is resolved from the root directory, and a stale socket file left by a previous run is removed first.",[234,650,652],{"className":236,"code":651,"filename":238,"language":239,"meta":240,"style":240},"export default defineNuxtConfig({\n  pglite: {\n    socket: { path: '.data\u002Fsocket' },\n  },\n})\n",[217,653,654,666,674,698,702],{"__ignoreMap":240},[244,655,656,658,660,662,664],{"class":246,"line":247},[244,657,251],{"class":250},[244,659,254],{"class":250},[244,661,258],{"class":257},[244,663,262],{"class":261},[244,665,266],{"class":265},[244,667,668,670,672],{"class":246,"line":269},[244,669,273],{"class":272},[244,671,232],{"class":265},[244,673,278],{"class":265},[244,675,676,678,680,683,686,688,690,693,695],{"class":246,"line":281},[244,677,284],{"class":272},[244,679,232],{"class":265},[244,681,682],{"class":265}," {",[244,684,685],{"class":272}," path",[244,687,232],{"class":265},[244,689,299],{"class":265},[244,691,692],{"class":302},".data\u002Fsocket",[244,694,306],{"class":265},[244,696,697],{"class":265}," },\n",[244,699,700],{"class":246,"line":291},[244,701,378],{"class":265},[244,703,704,706],{"class":246,"line":312},[244,705,384],{"class":265},[244,707,387],{"class":261},[214,709,710,711,713],{},"The URL then carries the directory as its ",[217,712,419],{}," parameter:",[234,715,719],{"className":716,"code":717,"filename":93,"language":718,"meta":240,"style":240},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","✔ PGlite socket listening at postgres:\u002F\u002Fpostgres@localhost:5432\u002Fpostgres?host=%2Fhome%2Fme%2Fapp%2F.data%2Fsocket (DATABASE_URL)\n","bash",[217,720,721],{"__ignoreMap":240},[244,722,723,727,730,733,736,739,742],{"class":246,"line":247},[244,724,726],{"class":725},"sBMFI","✔",[244,728,729],{"class":302}," PGlite",[244,731,732],{"class":302}," socket",[244,734,735],{"class":302}," listening",[244,737,738],{"class":302}," at",[244,740,741],{"class":302}," postgres:\u002F\u002Fpostgres@localhost:5432\u002Fpostgres?host=%2Fhome%2Fme%2Fapp%2F.data%2Fsocket",[244,743,744],{"class":261}," (DATABASE_URL)\n",[234,746,748],{"className":716,"code":747,"filename":93,"language":718,"meta":240,"style":240},"psql -h .\u002F.data\u002Fsocket -U postgres\n",[217,749,750],{"__ignoreMap":240},[244,751,752,755,758,761,764],{"class":246,"line":247},[244,753,754],{"class":725},"psql",[244,756,757],{"class":302}," -h",[244,759,760],{"class":302}," .\u002F.data\u002Fsocket",[244,762,763],{"class":302}," -U",[244,765,766],{"class":302}," postgres\n",[768,769,770],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":240,"searchDepth":247,"depth":269,"links":772},[773],{"id":626,"depth":269,"text":627},"Where the socket listens, how it publishes its URL and how it treats clients.","md",null,{},{"icon":39},{"title":36,"description":774},"nf_i8sIhwujqbD7K9N2voNeT4lr-J-PfYssF5ezQIT0",[782,784],{"title":28,"path":63,"stem":64,"description":783,"icon":67,"children":-1},"Serve the development database over the Postgres wire protocol, and connect anything that speaks Postgres to it.",{"title":41,"path":72,"stem":73,"description":785,"icon":44,"children":-1},"How many clients share one PGlite session, and where that differs from a real server.",1791474260690]