连接到外部 Postgres 数据库
LangSmith 使用 Postgres 数据库作为事务性工作负载和操作数据(几乎除了运行之外的所有内容)的主要数据存储。默认情况下,LangSmith 自托管将使用内部 Postgres 数据库。但是,您可以配置 LangSmith 以使用外部 Postgres 数据库(强烈建议在生产环境中)。通过配置外部 Postgres 数据库,您可以更轻松地管理数据库的备份、扩展和其他操作任务。
要求
- 已配置的 Postgres 数据库,您的 LangSmith 实例将具有网络访问权限。我们建议使用托管的 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 数据库。您可以通过修改 LangSmith Helm Chart 安装的 values
文件或 Docker 安装的 .env
文件来完成此操作。
- Helm
- Docker
postgres:
external:
enabled: true
connectionUrl: "Your connection url"
# In your .env file
POSTGRES_DATABASE_URI="Your connection url"
配置完成后,您应该能够重新安装您的 LangSmith 实例。如果一切配置正确,您的 LangSmith 实例现在应该正在使用您的外部 Postgres 数据库。