Files
langflow/configuration-custom-database.html
github-merge-queue[bot] 879e9df2c0 deploy: d59c890dce
2025-07-23 14:04:38 +00:00

137 lines
45 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-Configuration/configuration-custom-database" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Configure an external PostgreSQL database | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.langflow.org/configuration-custom-database"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Configure an external PostgreSQL database | Langflow Documentation"><meta data-rh="true" name="description" content="Langflow&#x27;s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."><meta data-rh="true" property="og:description" content="Langflow&#x27;s default database is SQLite, but you can configure Langflow to use PostgreSQL instead."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/configuration-custom-database"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/configuration-custom-database" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/configuration-custom-database" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://UZK6BDPCVY-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Configure an external PostgreSQL database","item":"https://docs.langflow.org/configuration-custom-database"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLQFLQ3KPT"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SLQFLQ3KPT",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Langflow Documentation" href="/opensearch.xml">
<script>!function(){var e="analytics",t=window[e]=window[e]||[];if(!t.initialize)if(t.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{t.invoked=!0,t.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"],t.factory=function(n){return function(){if(window[e].initialized)return window[e][n].apply(window[e],arguments);var r=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(n)>-1){var i=document.querySelector("link[rel='canonical']");r.push({__t:"bpc",c:i&&i.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}return r.unshift(n),t.push(r),t}};for(var n=0;n<t.methods.length;n++){var r=t.methods[n];t[r]=t.factory(r)}t.load=function(n,r){var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.setAttribute("data-global-segment-analytics-key",e),i.src="https://cdn.segment.com/analytics.js/v1/"+n+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(i,a),t._loadOptions=r},t._writeKey="60AfGDrVxy8nAGJngo3fCYWG4LvhMAlG",t.SNIPPET_VERSION="5.2.0",t.load("60AfGDrVxy8nAGJngo3fCYWG4LvhMAlG"),t.page()}}()</script>
<script>window.__SCROLL_TRACKING_CONFIG__={selectors:[{selector:"h1, h2, h3, h4, h5, h6",eventName:"Docs.langflow.org - Heading Viewed",properties:{element_type:"heading"}},{selector:".ch-codeblock",eventName:"Docs.langflow.org - Codeblock Viewed",properties:{element_type:"code",language:"helper:codeLanguage"}}]}</script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@550;600&amp;display=swap">
<script>!function(){window.semaphore=window.semaphore||[],window.ketch=function(){window.semaphore.push(arguments)};var e=document.createElement("script");e.type="text/javascript",e.src="https://global.ketchcdn.com/web/v3/config/datastax/langflow_org_web/boot.js",e.defer=e.async=!0,document.getElementsByTagName("head")[0].appendChild(e)}()</script>
<script defer="true">!function(){const e=e=>{if(window.gtag&&e.purposes&&"analytics"in e.purposes&&"targeted_advertising"in e.purposes){const n=!0===e.purposes.analytics?"granted":"denied",t=!0===e.purposes.targeted_advertising?"granted":"denied",a={analytics_storage:n,ad_personalization:t,ad_storage:t,ad_user_data:t};window.gtag("consent","update",a)}};window.ketch&&window.ketch("on","consent",e)}()</script><link rel="stylesheet" href="/assets/css/styles.e756ed1e.css">
<script src="/assets/js/runtime~main.7074028a.js" defer="defer"></script>
<script src="/assets/js/main.cdf1e15a.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link" data-event="Docs.langflow.org - Social Clicked" data-platform="github"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link" data-event="Docs.langflow.org - Social Clicked" data-platform="x"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link" data-event="Docs.langflow.org - Social Clicked" data-platform="discord"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd sidebarWithHideableNavbar_wUlq"><a tabindex="-1" class="sidebarLogo_isFc" href="/"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></a><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">Welcome to Langflow</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/about-langflow">Get started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/basic-prompting">Templates</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-overview">Flows</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-components">Components</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents">Agents</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/mcp-server">Model Context Protocol (MCP)</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/configuration-api-keys">Configuration</a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-api-keys">API keys</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-authentication">Authentication</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-cli">Langflow CLI</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/configuration-custom-database">Configure an external PostgreSQL database</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/configuration-global-variables">Global variables</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/environment-variables">Environment variables</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/contributing-telemetry">Telemetry</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/develop-overview">Develop</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/deployment-overview">Deployment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-reference-api-examples">API reference</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/integrations-apify">Integrations</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community">Contribute</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/release-notes">Release notes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/troubleshoot">Support</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-ad">
<a href="https://www.langflow.org/desktop" target="_blank" class="menu__link">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1645_37)">
<path d="M12 17H20C21.1046 17 22 16.1046 22 15V13M12 17H4C2.89543 17 2 16.1046 2 15V5C2 3.89543 2.89543 3 4 3H10M12 17V21M8 21H12M12 21H16M11.75 10.2917H13.2083L16.125 7.375H17.5833L20.5 4.45833H21.9583M16.125 11.75H17.5833L20.5 8.83333H21.9583M11.75 5.91667H13.2083L16.125 3H17.5833" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1645_37">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>
<div class="sidebar-ad-text-container">
<span class="sidebar-ad-text">Get started in minutes</span>
<span class="sidebar-ad-text sidebar-ad-text-gradient">Download Langflow Desktop</span>
</div>
</a>
</li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Configuration</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Configure an external PostgreSQL database</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Configure an external PostgreSQL database</h1></header><style>[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }</style>
<p>Langflow&#x27;s default database is <a href="https://www.sqlite.org/docs.html" target="_blank" rel="noopener noreferrer">SQLite</a>, but you can configure Langflow to use PostgreSQL instead.</p>
<p>This guide walks you through setting up an external database for Langflow by replacing the default SQLite connection string <code>sqlite:///./langflow.db</code> with PostgreSQL.</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="prerequisite">Prerequisite<a href="#prerequisite" class="hash-link" aria-label="Direct link to Prerequisite" title="Direct link to Prerequisite"></a></h2>
<ul>
<li>A <a href="https://www.pgadmin.org/download/" target="_blank" rel="noopener noreferrer">PostgreSQL</a> database</li>
</ul>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="connect-langflow-to-postgresql">Connect Langflow to PostgreSQL<a href="#connect-langflow-to-postgresql" class="hash-link" aria-label="Direct link to Connect Langflow to PostgreSQL" title="Direct link to Connect Langflow to PostgreSQL"></a></h2>
<ol>
<li>
<p>If Langflow is running, quit Langflow.</p>
</li>
<li>
<p>Find your PostgreSQL database&#x27;s connection string in the format <code>postgresql://user:password@host:port/dbname</code>.</p>
</li>
</ol>
<p>The hostname in your connection string depends on how you&#x27;re running PostgreSQL:</p>
<ul>
<li>If you&#x27;re running PostgreSQL directly on your machine, use <code>localhost</code>.</li>
<li>If you&#x27;re running PostgreSQL in Docker Compose, use the service name, such as <code>postgres</code>.</li>
<li>If you&#x27;re running PostgreSQL in a separate Docker container with <code>docker run</code>, use the container&#x27;s IP address or network alias.</li>
</ul>
<ol start="3">
<li>
<p>Create a Langflow <code>.env</code> file if you don&#x27;t already have one:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>touch .env</span></div></div><br></code></div></div>
<p>You can use the <a href="https://github.com/langflow-ai/langflow/blob/main/.env.example" target="_blank" rel="noopener noreferrer"><code>.env.example</code></a> file in the Langflow repository as a template for your own <code>.env</code> file.</p>
</li>
<li>
<p>In your <code>.env</code> file, set <code>LANGFLOW_DATABASE_URL</code> to your your PostgreSQL connection string:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_DATABASE_URL=&quot;postgresql://user:password@localhost:5432/dbname&quot;</span></div></div><br></code></div></div>
</li>
<li>
<p>Save your changes, and then start Langflow with your <code>.env</code> file:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>uv run langflow run --env-file .env</span></div></div><br></code></div></div>
</li>
<li>
<p>In Langflow, run any flow to create traffic.</p>
</li>
<li>
<p>Inspect your PostgreSQL deployment&#x27;s tables and activity to verify that new tables and traffic were created after you ran a flow.</p>
</li>
</ol>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="example-langflow-and-postgresql-docker-composeyml">Example Langflow and PostgreSQL docker-compose.yml<a href="#example-langflow-and-postgresql-docker-composeyml" class="hash-link" aria-label="Direct link to Example Langflow and PostgreSQL docker-compose.yml" title="Direct link to Example Langflow and PostgreSQL docker-compose.yml"></a></h2>
<p>Docker Compose creates an isolated network for all services defined in <code>docker-compose.yml</code>. This ensures that the services can communicate with each other using their service names as hostnames, such as <code>postgres</code> in the database URL.
In contrast, if you run PostgreSQL separately with <code>docker run</code>, it launches in a different network than the Langflow container, and this prevents Langflow from connecting to PostgreSQL using the service name.</p>
<p>You can use the <a href="https://github.com/langflow-ai/langflow/blob/main/docker_example/docker-compose.yml" target="_blank" rel="noopener noreferrer"><code>docker-compose.yml</code></a> file in the Langflow repository to launches Langflow and PostgreSQL containers in the same Docker network, ensuring proper connectivity between services.
This configuration also sets up persistent volumes for both Langflow and PostgreSQL data.</p>
<p>To start the services, navigate to the <code>/docker_example</code> directory, and then run <code>docker-compose up</code>:</p>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>services:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> langflow:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> image: langflowai/langflow:latest # or another version tag on https://hub.docker.com/r/langflowai/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> pull_policy: always # set to &#x27;always&#x27; when using &#x27;latest&#x27; image</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> ports:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - &quot;7860:7860&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> depends_on:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - postgres</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> environment:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> # This variable defines where the logs, file storage, monitor data, and secret keys are stored.</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_CONFIG_DIR=app/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - langflow-data:/app/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> postgres:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> image: postgres:16</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> environment:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> POSTGRES_USER: langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> POSTGRES_PASSWORD: langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> POSTGRES_DB: langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> ports:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - &quot;5432:5432&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> - langflow-postgres:/var/lib/postgresql/data</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span>volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> langflow-postgres: # Persistent volume for PostgreSQL data</span></div></div><div><span class="ch-code-line-number">_<!-- -->29</span><div style="display:inline-block;margin-left:16px"><span> langflow-data: # Persistent volume for Langflow data</span></div></div><br></code></div></div>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="deploy-multiple-langflow-instances-with-a-shared-database">Deploy multiple Langflow instances with a shared database<a href="#deploy-multiple-langflow-instances-with-a-shared-database" class="hash-link" aria-label="Direct link to Deploy multiple Langflow instances with a shared database" title="Direct link to Deploy multiple Langflow instances with a shared database"></a></h2>
<p>To configure multiple Langflow instances that share the same PostgreSQL database, modify your <code>docker-compose.yml</code> file to include multiple Langflow services.</p>
<p>Use environment variables for more centralized configuration management:</p>
<ol>
<li>Update your <code>.env</code> file with values for your PostgreSQL database:</li>
</ol>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POSTGRES_USER=langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POSTGRES_PASSWORD=your_secure_password</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POSTGRES_DB=langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POSTGRES_HOST=postgres</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>POSTGRES_PORT=5432</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_CONFIG_DIR=app/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_PORT_1=7860</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_PORT_2=7861</span></div></div><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_HOST=0.0.0.0</span></div></div><br></code></div></div>
<ol start="2">
<li>Reference these variables in your <code>docker-compose.yml</code>:</li>
</ol>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span>services:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> postgres:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> image: postgres:16</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> environment:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - POSTGRES_USER=${POSTGRES_USER}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - POSTGRES_DB=${POSTGRES_DB}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> ports:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - &quot;${POSTGRES_PORT}:5432&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - langflow-postgres:/var/lib/postgresql/data</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> langflow-1:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> image: langflowai/langflow:latest</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> pull_policy: always</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> ports:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - &quot;${LANGFLOW_PORT_1}:7860&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> depends_on:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - postgres</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> environment:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_HOST=${LANGFLOW_HOST}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - PORT=7860</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - langflow-data-1:/app/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> langflow-2:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> image: langflowai/langflow:latest</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> pull_policy: always</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> ports:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - &quot;${LANGFLOW_PORT_2}:7860&quot;</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> depends_on:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - postgres</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> environment:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_CONFIG_DIR=${LANGFLOW_CONFIG_DIR}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - LANGFLOW_HOST=${LANGFLOW_HOST}</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - PORT=7860</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> - langflow-data-2:/app/langflow</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span>volumes:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> langflow-postgres:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> langflow-data-1:</span></div></div><div><span class="ch-code-line-number">_<!-- -->46</span><div style="display:inline-block;margin-left:16px"><span> langflow-data-2:</span></div></div><br></code></div></div>
<ol start="3">
<li>
<p>Deploy the file with <code>docker-compose up</code>.
You can access the first Langflow instance at <code>http://localhost:7860</code>, and the second Langflow instance at <code>http://localhost:7861</code>.</p>
</li>
<li>
<p>To confirm both instances are using the same database, run the <code>docker exec</code> command to start <code>psql</code> in your PostgreSQL container.
Your container name may vary.</p>
</li>
</ol>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>docker exec -it docker-test-postgres-1 psql -U langflow -d langflow</span></div></div><br></code></div></div>
<ol start="5">
<li>Query the database for active connections:</li>
</ol>
<div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->10</span><div style="display:inline-block;margin-left:16px"><span>langflow=# SELECT * FROM pg_stat_activity WHERE datname = &#x27;langflow&#x27;;</span></div></div><br></code></div></div>
<ol start="6">
<li>Examine the query results for multiple connections with different <code>client_addr</code> values, for example <code>172.21.0.3</code> and <code>172.21.0.4</code>.</li>
</ol>
<p>Since each Langflow instance runs in its own container on the Docker network, using different incoming IP addresses confirms that both instances are actively connected to the PostgreSQL database.</p>
<ol start="7">
<li>To quit psql, type <code>quit</code>.</li>
</ol></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/configuration-cli"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Langflow CLI</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/configuration-global-variables"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global variables</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#prerequisite" class="table-of-contents__link toc-highlight">Prerequisite</a></li><li><a href="#connect-langflow-to-postgresql" class="table-of-contents__link toc-highlight">Connect Langflow to PostgreSQL</a></li><li><a href="#example-langflow-and-postgresql-docker-composeyml" class="table-of-contents__link toc-highlight">Example Langflow and PostgreSQL docker-compose.yml</a></li><li><a href="#deploy-multiple-langflow-instances-with-a-shared-database" class="table-of-contents__link toc-highlight">Deploy multiple Langflow instances with a shared database</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
<span>© 2025 Langflow</span>
<span id="preferenceCenterContainer"> ·&nbsp; <a href="https://langflow.org/preferences">Manage Privacy Choices</a></span>
</div></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/lf-docs-light.svg" alt="Langflow" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE" width="160" height="40"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU" width="160" height="40"></div></div></div></footer><div style="position:fixed;right:20px;bottom:20px;z-index:100;display:flex;align-items:center;gap:10px;cursor:pointer"><div style="background-color:#f6f6f6;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)"><img src="/img/langflow-icon-black-transparent.svg" style="width:40px" alt="Search"></div></div></div>
</body>
</html>