跳到主要内容
LangSmith 使用 PostgreSQL 数据库作为事务性工作负载和操作数据(除了运行之外的所有数据)的主要数据存储。默认情况下,LangSmith 自托管版本将使用内部 PostgreSQL 数据库。但是,您可以配置 LangSmith 以使用外部 PostgreSQL 数据库。通过配置外部 PostgreSQL 数据库,您可以更轻松地管理数据库的备份、扩展和其他操作任务。

要求

  • 已预置的 PostgreSQL 数据库,您的 LangSmith 实例将具有网络访问权限。我们建议使用托管 PostgreSQL 服务,例如
  • 注意:我们仅官方支持 PostgreSQL 版本 >= 14。
  • 具有 PostgreSQL 数据库管理员权限的用户。该用户将用于创建必要的表、索引和模式。
  • 此用户还需要能够在数据库中创建扩展。我们使用/将尝试安装 btree_gin、btree_gist、pgcrypto、citext、ltree 和 pg_trgm 扩展。
  • 如果使用非公共模式,请确保没有其他模式启用扩展,否则必须将其包含在您的搜索路径中。
  • 对 pgbouncer 和其他连接池器的支持是社区驱动的。社区成员报告称 pgbouncer 在 `pool_mode` = `session` 且 `ignore_startup_parameters` 设置适当(撰写本文时,`search_path` 和 `lock_timeout` 需要忽略)的情况下运行良好。需要小心以避免污染连接池;建议具备一定程度的 PostgreSQL 专业知识。LangChain Inc 目前没有正式测试覆盖或商业支持 pgbouncer、Amazon RDS 代理或任何其他连接池器的路线图计划,但欢迎社区通过 GitHub issue 讨论和协作支持。
  • 默认情况下,我们建议实例至少配备 2 个 vCPU 和 8GB 内存。但是,实际要求将取决于您的工作负载和用户数量。我们建议监控您的 PostgreSQL 实例并根据需要进行扩展。

连接字符串

您需要提供 PostgreSQL 数据库的连接字符串。此连接字符串应包含以下信息
  • 主机
  • 端口
  • 数据库
  • 用户名
  • 密码(如果有任何特殊字符,请务必进行 URL 编码)
  • URL 参数
这将采用以下形式
username:password@host:port/database?<url_params>
一个示例连接字符串可能如下所示
myuser:mypassword@myhost:5432/mydatabase?sslmode=disable
如果没有 URL 参数,连接字符串将如下所示
myuser:mypassword@myhost:5432/mydatabase

配置

有了连接字符串,您可以配置 LangSmith 实例以使用外部 PostgreSQL 数据库。您可以通过修改 LangSmith Helm Chart 安装的 `values` 文件或 Docker 安装的 `.env` 文件来完成此操作。
postgres:
  external:
    enabled: true
    connectionUrl: "Your connection url"
配置完成后,您应该能够重新安装 LangSmith 实例。如果一切配置正确,您的 LangSmith 实例现在应该使用您的外部 PostgreSQL 数据库。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.