1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];if(null!=r)for(var a in r)r.hasOwnProperty(a)&&(e[a]=r[a])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:supabase-www":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83772da5-511f-43b9-8c6c-37213837f01e",e._sentryDebugIdIdentifier="sentry-dbid-83772da5-511f-43b9-8c6c-37213837f01e")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9465],{27143:(e,t)=>{var r;!function(){"use strict";var a={}.hasOwnProperty;function s(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)){if(r.length){var n=s.apply(null,r);n&&e.push(n)}}else if("object"===o){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var i in r)a.call(r,i)&&r[i]&&e.push(i)}}}return e.join(" ")}e.exports?(s.default=s,e.exports=s):void 0===(r=(function(){return s}).apply(t,[]))||(e.exports=r)}()},35693:(e,t,r)=>{"use strict";r.d(t,{OJ:()=>a.AuthProvider,by:()=>l.DocsSearchResultType,sm:()=>i.FeatureFlagProvider,pe:()=>o.pe,LZ:()=>_.PageTelemetry,ZV:()=>_.TelemetryTagManager,NP:()=>d.ThemeProvider,aJ:()=>c,YK:()=>s.YK,cO:()=>u.detectBrowser,nb:()=>u.ensurePlatformSuffix,iD:()=>a.getAccessToken,Bd:()=>u.isBrowser,je:()=>a.logOut,Px:()=>u.mergeRefs,oD:()=>_.posthogClient,Ot:()=>_.sendTelemetryEvent,b_:()=>l.useAnchorObserver,dv:()=>l.useBreakpoint,BL:()=>s.BL,MF:()=>l.useConstant,TD:()=>l.useCopyMarkdownFromUrl,d7:()=>l.useDebounce,J5:()=>l.useDocsSearch,Jt:()=>l.useEffectEvent,h:()=>i.useFeatureFlags,_P:()=>i.useFlag,DB:()=>a.useIsLoggedIn,Z4:()=>a.useIsUserLoading,Es:()=>l.useIsomorphicLayoutEffect,T7:()=>l.useOnChange,Ib:()=>u.useReducedMotion,ai:()=>l.useThemeSandbox,Jd:()=>a.useUser});var a=r(85960),s=r(68650),o=r(16008);let n=JSON.parse('{"$schema":"./enabled-features.schema.json","account:show_security_settings":true,"ai:opt_in_level_disabled":true,"ai:opt_in_level_schema":true,"ai:opt_in_level_schema_and_log":true,"ai:opt_in_level_schema_and_log_and_data":true,"authentication:sign_in_providers":true,"authentication:third_party_auth":true,"authentication:rate_limits":true,"authentication:emails":true,"authentication:multi_factor":true,"authentication:attack_protection":true,"authentication:performance":true,"authentication:show_email_phone_columns":true,"authentication:show_manual_linking":true,"authentication:show_provider_filter":true,"authentication:show_providers":true,"authentication:show_custom_providers":true,"authentication:show_send_invitation":true,"authentication:show_sort_by_email":true,"authentication:show_sort_by_phone":true,"authentication:show_user_type_filter":true,"billing:all":true,"branding:large_logo":false,"cli:disable_custom_profiles":true,"dashboard_auth:sign_up":true,"dashboard_auth:sign_in_with_github":true,"dashboard_auth:sign_in_with_chatgpt":true,"dashboard_auth:sign_in_with_sso":true,"dashboard_auth:sign_in_with_email":true,"dashboard_auth:show_testimonial":true,"dashboard_auth:show_tos":true,"database:replication":true,"database:roles":true,"database:restore_to_new_project":true,"database:network_restrictions":true,"docs:auth_architecture":true,"docs:auth_configuration":true,"docs:auth_flows":true,"docs:auth_full_security":true,"docs:auth_troubleshooting":true,"docs:compliance":true,"docs:contribution":true,"docs:fdw":true,"docs:footer":true,"docs:navigation_dropdown_links_home":true,"docs:self-hosting":true,"docs:framework_quickstarts":true,"docs:full_getting_started":true,"docs:full_platform":true,"docs:hide_cli_profiles":true,"docs:local_development":true,"docs:mobile_tutorials":true,"docs:pgtap":true,"docs:production_checklist":true,"docs:web_apps":true,"docs:agent_plugin":true,"docs:agent_skills":true,"docs:prompts":true,"edge_functions:show_stripe_example":true,"edge_functions:show_all_edge_function_invocation_examples":true,"feedback:docs":true,"integrations:partners":true,"integrations:wrappers":true,"integrations:vercel":true,"integrations:aws_private_link":true,"infrastru
1cture:read_replicas":true,"logs:all":true,"logs:templates":true,"logs:collections":true,"logs:metadata":true,"logs:show_metadata_ip_template":true,"organization:show_sso_settings":true,"organization:show_security_settings":true,"organization:show_legal_documents":true,"profile:show_email":true,"profile:show_information":true,"profile:show_analytics_and_marketing":true,"profile:show_account_deletion":true,"project_connection:show_app_frameworks":true,"project_connection:show_mobile_frameworks":true,"project_connection:show_orms":true,"project_connection:show_warehouse":true,"project_creation:show_advanced_config":true,"project_creation:show_high_availability":true,"project_creation:show_best_available_region":true,"project_homepage:show_instance_size":true,"project_homepage:show_examples":true,"project_addons:dedicated_ipv4_address":true,"project_addons:show_compute_price":true,"project_settings:custom_domains":true,"project_settings:show_disable_legacy_api_keys":true,"project_settings:legacy_jwt_keys":true,"project_settings:log_drains":true,"project_settings:database_upgrades":true,"project_settings:restart_project":true,"quickstarts:hide_nimbus":true,"reports:all":true,"sdk:auth":true,"sdk:csharp":true,"sdk:dart":true,"sdk:kotlin":true,"sdk:python":true,"sdk:swift":true,"storage:analytics":true,"storage:vectors":true,"search:fullIndex":true,"support:show_client_libraries":true}');r(37811),Object.entries(n).filter(e=>{let[t,r]=e;return!r}).map(e=>{let[t]=e;return t});var i=r(79433);r(64070);var u=r(31037),l=r(89679);function c(e){let t=encodeURIComponent("Read from ".concat(e," so I can ask questions about its contents"));return{chatgpt:"https://chatgpt.com/?hint=search&q=".concat(t),claude:"https://claude.ai/new?q=".concat(t)}}r(50259);var d=r(39507);r(35651),r(49573);var _=r(24940);r(66663)},38444:(e,t,r)=>{"use strict";r.d(t,{A:()=>x});var a=r(44494),s=r(35693),o=r(49575),n=r(43016),i=r(65020),u=r(38213),l=r(21695),c=r(68529),d=r(51870),_=r.n(d),h=r(47475),p=r(48030),g=r(91215),f=r(62006),m=r(14529),w=r(87636);let b=["all","product","company","postgres","developers","engineering","launch-week"],v=e=>"all"===e?"/blog":"/blog/categories/".concat(e),y=e=>"all"===e?"All":(0,i.NZ)(e.replaceAll("-"," ")),x=function(e){var t;let r,{view:i,setView:d,onFilterChange:x,onSearch:j}=e,k=!!x||!!j,[D,N]=(0,p.useState)(""),[C,F]=(0,p.useState)(!1),M=(0,h.useRouter)(),S=(0,h.usePathname)(),E=(0,h.useSearchParams)(),A=null==E?void 0:E.get("q"),I=(0,s.dv)(1023),P=null==S?void 0:S.match(/^\/blog\/categories\/([^/]+)/),T=null!=(t=null==P?void 0:P[1])?t:"all",B=(0,p.useCallback)(e=>{clearTimeout(r),r=setTimeout(()=>{null==x||x(void 0,e)},300)},[x]);(0,p.useEffect)(()=>{x&&A&&(N(A),x(void 0,A))},[]);let O=(0,p.useCallback)(e=>{N(e),x?(null==M||M.replace(e.length>0?"/blog?q=".concat(encodeURIComponent(e)):"/blog",{scroll:!1}),B(e)):null==j||j(e)},[M,B,x,j]);return(0,p.useEffect)(()=>{let e=e=>{"Escape"===e.key&&O("")};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[O]),(0,p.useEffect)(()=>{F(!I)},[I]),(0,a.jsxs)("div",{className:"flex flex-row items-center justify-between gap-2",children:[!C&&(0,a.jsx)("div",{className:"flex lg:hidden",children:(0,a.jsxs)(g.DropdownMenu,{children:[(0,a.jsx)(g.DropdownMenuTrigger,{asChild:!0,children:(0,a.jsx)(f.Button,{variant:"outline",iconRight:(0,a.jsx)(u.A,{}),className:"w-full min-w-[200px] flex justify-between items-center py-2",children:"all"===T?"All Posts":y(T)})}),(0,a.jsx)(g.DropdownMenuContent,{side:"bottom",align:"start",children:b.map(e=>(0,a.jsx)(g.DropdownMenuItem,{onClick:()=>M.push(v(e)),className:(0,m.cn)(e===T?"text-brand-600":""),children:"all"===e?"All Posts":y(e)},e))})]})}),(0,a.jsx)("div",{className:"hidden lg:flex flex-wrap items-center grow gap-1",children:b.map(e=>{let t=e===T;return(0,a.jsxs)(_(),{href:v(e),"aria-label":"all"===e?"Show all blog posts":"Filter blog posts by category: ".concat(y(e)),"aria-current":t?"page":void 0,className:(0,m.cn)("relative px-3 py-1.5 text-sm rounded-full transition-colors",t?"text-foreground":"text-foreground-lighter hover:text-foreground-light"),children:[t&&(0,a.jsx)(n.P.span,{layoutId:"blog-cat-bg",className:"absolute inset-0 rounded-full bg-surface-300 border border-border",transition:{type:"spring",duration:.35,bounce:.15}}),(0,a.jsx)("span",{className:"relative z-10",children:y(e)})]},e)})}),k&&!C&&(0,a.jsx)("div",{className:"flex-1 flex justify-end",children:(0,a.jsx)(f.Button,{className:"px-2 h-full",size:"medium","aria-label":"Search posts",onClick:()=>F(!0),children:(0,a.jsx)(l.A,{size:"14","aria-hidden":"true"})})}),k&&C&&(0,a.jsx)("div",{className:"w-full h-auto flex justify-end gap-2 items-stretch lg:max-w-[240px] xl:max-w-[280px]",children:(0,a.jsxs)(w.MG,{className:"w-full",children:[(0,a.jsx)(w.iV,{size:"small",autoComplete:"off",type:"search",placeholder:"Search blog",value:D,onChange:e=>O(e.target.value)}),(0,a.jsx)(w.Sq,{children:(0,a.jsx)(l.A,{"aria-hidden":"true"})}),I&&(0,a.jsx)(w.Sq,{align:"inline-end",children:(0,a.jsx)(w.Ik,{onClick:()=>{N(""),F(!1)},children:(0,a.jsx)(c.A,{size:"14"})})})]})}),(0,a.jsx)(o.A,{view:i,setView:d})]})}},65020:(e,t,r)=>{"use strict";r.d(t,{Bd:()=>a,NZ:()=>n,o6:()=>s,sl:()=>i,y1:()=>o});let a=!0,s=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,"").replace(/\s+/g," ").trim(),o=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;void 0===t&&(t=e,e=0);let a=[];for(let s=e;r>0?s<t:s>t;s+=r)a.push(s);return a},n=e=>e?e.replace(/[-_\s]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,e=>e.toUpperCase()).trim():e,i=e=>{let t=Number(null!=e?e:0),r=isNaN(t)?0:t;if(r<1e3)return String(Math.floor(r));let a=Math.floor(r/1e3),s=r%1e3,o=Math.floor(s%100/10),n=Math.floor(s/100),i=o>=8&&n>=9;return!i&&n>=1||0===n&&o>=8?"".concat(a,".").concat(o>=8?n+1:n,"K"):"".concat(i?a+1:a,"K")}},79158:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(44494),s=r(27143),o=r.n(s);let n=(0,r(48030).forwardRef)((e,t)=>{let{children:r,className:s,id:n}=e;return(0,a.jsx)("div",{ref:t,id:n,className:o()("section-container relative py-16 sm:py-18 md:py-24",s),children:r})});n.displayName="SectionContainer";let i=n}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.