[{"data":1,"prerenderedAt":146},["ShallowReactive",2],{"page-\u002Fself-hosting\u002Frunning":3},{"id":4,"title":5,"body":6,"description":138,"extension":139,"meta":140,"navigation":141,"path":142,"seo":143,"stem":144,"__hash__":145},"content\u002F4.self-hosting\u002F2.running.md","Running",{"type":7,"value":8,"toc":132},"minimark",[9,14,57,71,75,82,89,93,109,113,128],[10,11,13],"h2",{"id":12},"run","Run",[15,16,21],"pre",{"className":17,"code":18,"language":19,"meta":20,"style":20},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","DATABASE_URL=postgres:\u002F\u002Fpostgres:pg@localhost:5432\u002Fpostgres \\\n  cargo run --release\n","bash","",[22,23,24,45],"code",{"__ignoreMap":20},[25,26,29,33,37,41],"span",{"class":27,"line":28},"line",1,[25,30,32],{"class":31},"sTEyZ","DATABASE_URL",[25,34,36],{"class":35},"sMK4o","=",[25,38,40],{"class":39},"sfazB","postgres:\u002F\u002Fpostgres:pg@localhost:5432\u002Fpostgres",[25,42,44],{"class":43},"sBMFI"," \\\n",[25,46,48,51,54],{"class":27,"line":47},2,[25,49,50],{"class":39},"  cargo",[25,52,53],{"class":39}," run",[25,55,56],{"class":39}," --release\n",[58,59,60,61,64,65,70],"p",{},"The server listens on ",[22,62,63],{},"127.0.0.1:4000"," by default. See ",[66,67,69],"a",{"href":68},"\u002Fgetting-started\u002Fconfiguration","Configuration"," for every setting.",[10,72,74],{"id":73},"connection-warm-up","Connection warm-up",[58,76,77,78,81],{},"TIN opens its index once per Postgres backend. The first TIN query on a new connection can take over a second on the planet table; later queries take milliseconds. An index built with ",[22,79,80],{},"tin.rank_columns"," also opens each copied column once per backend.",[58,83,84,85,88],{},"So the pool runs warm-up queries of the ranked and focus shapes on every connection it creates, and startup opens all ",[22,86,87],{},"POOL_SIZE"," connections at once. Without this, the first requests after a start or a Postgres restart would run past their budget and fall back to text-only ranking. A failed warm-up is logged, and the connection is still used.",[10,90,92],{"id":91},"health","Health",[15,94,96],{"className":17,"code":95,"language":19,"meta":20,"style":20},"curl -i http:\u002F\u002Flocalhost:4000\u002Fhealth\n",[22,97,98],{"__ignoreMap":20},[25,99,100,103,106],{"class":27,"line":28},[25,101,102],{"class":43},"curl",[25,104,105],{"class":39}," -i",[25,107,108],{"class":39}," http:\u002F\u002Flocalhost:4000\u002Fhealth\n",[10,110,112],{"id":111},"logs","Logs",[58,114,115,118,119,122,123,127],{},[22,116,117],{},"RUST_LOG"," sets the filter. The default is ",[22,120,121],{},"geolith_search=info,tower_http=info",". See ",[66,124,126],{"href":125},"\u002Fconcepts\u002Fprivacy","Privacy"," for what is logged.",[129,130,131],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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);}",{"title":20,"searchDepth":47,"depth":47,"links":133},[134,135,136,137],{"id":12,"depth":47,"text":13},{"id":73,"depth":47,"text":74},{"id":91,"depth":47,"text":92},{"id":111,"depth":47,"text":112},"Run the server, warm its connections, and read its logs.","md",{},true,"\u002Fself-hosting\u002Frunning",{"title":5,"description":138},"4.self-hosting\u002F2.running","HuJ_EeEkp5-EUmQ5puweaC3Ts2VJG91D-GXFF-wqZlE",1791345919968]