Skip to main content

连接到外部 Postgres 数据库

LangSmith 使用 Postgres 数据库作为事务工作负载和运营数据(除运行之外的几乎所有数据)的主要数据存储。默认情况下,LangSmith 自托管将使用内部 Postgres 数据库。 但是,您可以将 LangSmith 配置为使用外部 Postgres 数据库(强烈建议在生产设置中使用)。通过配置外部 Postgres 数据库,您可以更轻松地管理数据库的备份、扩展和其他作任务。

要求

  • 您的 LangSmith 实例将具有网络访问权限的预置 Postgres 数据库。我们建议使用托管的 Postgres 服务,例如:
  • 注意:我们只正式支持 Postgres 版本 >= 14。
  • 对 Postgres 数据库具有管理员访问权限的用户。此用户将用于创建必要的表、索引和架构。
  • 此用户还需要能够在数据库中创建扩展。我们使用/将尝试安装 btree_gin、btree_gist、pgcrypto、citext 和 pg_trgm 扩展。
  • 如果使用 public 以外的架构,请确保您没有任何其他启用了扩展的架构,或者必须将其包含在搜索路径中。
  • 默认情况下,我们建议使用至少具有 2 个 vCPU 和 8GB 内存的实例。但是,实际要求将取决于您的工作负载和您拥有的用户数量。我们建议监控您的 Postgres 实例并根据需要进行扩展。

连接字符串

您需要提供 Postgres 数据库的连接字符串。此连接字符串应包含以下信息:

  • 主机
  • 港口
  • 数据库
  • 用户名
  • 密码(如果有任何特殊字符,请确保 url 编码)
  • URL 参数

这将采用以下形式:

username:password@host:port/database?<url_params>

示例连接字符串可能如下所示:

myuser:mypassword@myhost:5432/mydatabase?sslmode=disable

如果没有 url 参数,连接字符串将如下所示:

myuser:mypassword@myhost:5432/mydatabase

配置

有了连接字符串,您可以将 LangSmith 实例配置为使用外部 Postgres 数据库。您可以通过修改values文件或.env文件。


postgres:
external:
enabled: true
connectionUrl: "Your connection url"

配置完成后,您应该能够重新安装 LangSmith 实例。如果一切都配置正确,您的 LangSmith 实例现在应该使用您的外部 Postgres 数据库。


这个页面有帮助吗?


您可以在 GitHub 上留下详细的反馈。