langgrah使用pgsql做会话存储会自己创建表吗

是的,LangGraph 使用 PostgreSQL 做会话存储时,会自己自动创建所需的表。

你不需要手动编写 SQL 建表语句,LangGraph 提供了内置的方法来完成这一步。具体机制如下:

⚙️ 自动建表的核心方法: setup()

在使用 PostgreSQL 作为存储后端时(无论是用于短期记忆的 PostgresSaver 还是用于长期记忆的 PostgresStore ),你只需要在代码中调用一次 .setup() 方法,它就会自动在你的数据库中创建好所有必要的表结构 。

通常在首次连接并初始化 Checkpointer 时调用:from langgraph.checkpoint.postgres import PostgresSaver

DB_URI = "postgresql://user:password@host:port/dbname"

with PostgresSaver.from_conn_string(DB_URI) as checkpointer:

首次运行时,调用 setup() 自动创建数据库表

checkpointer.setup()

注意: setup() 是一个一次性的操作,表创建成功后,后续运行可以注释掉或移除这行代码 。

📋 会自动创建哪些表?

当你调用 setup() 后,LangGraph 默认会在 PostgreSQL 的 public schema 下创建以下 4 张核心表,用于管理对话状态和检查点: 表名 作用说明

checkpoints 核心表,存储对话的检查点状态(包含 thread_id、状态快照等)

checkpoint_blobs 存储状态通道中的具体二进制数据(blob)

checkpoint_writes 记录检查点之间的中间写入操作,保证状态一致性

checkpoint_migrations 记录数据库结构的版本迁移历史此外,如果你还使用了 PostgresStore (用于长期记忆或向量存储),它还会额外创建如 store 和 store_vectors 等表 。

💡 补充说明

权限要求:虽然表是自动创建的,但你在 DB_URI 中配置的数据库用户必须拥有创建表(CREATE TABLE)的权限,否则 setup() 会报错 。

指定 Schema:默认表会建在 public 下。如果你想指定其他 schema,可以在数据库连接字符串(DB_URI)中通过 options 参数指定(例如: ?options=-csearch_path%3Dyour_schema,public ) 。

相关推荐
瑞克-桑切斯2 小时前
企业生产环境:https部署+nginx高可用(业务不中断)
linux·服务器·数据库
Liaiyang668 小时前
空圈容错:从 (0, 1) 夹缝本体论到 11 次跨域盲测
ai·大模型·量子力学·科学哲学·宇宙学·认识论·认知边界
俊哥V9 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
秋饼9 小时前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
zyseo810 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
xiaogai_gai12 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
KeyAction666612 小时前
第二届中国国际人工智能+行动大会看点:智能体专场、算力账本与产品发布
人工智能·ai
数据工匠老o12 小时前
异构数据库DDL同步:260条链路的结构变更自动适配方案
数据库·架构
这个DBA有点耶13 小时前
银行业市占率最高的国产数据库是谁?先搞清楚“市占率”的四种口径
数据库·程序员·架构
用户62799471826214 小时前
南大通用GBase 8a之基于审计日志的冷温热数据分析
数据库