必须显式配置连接池保活参数以避免空闲超时卡顿:cli/desktop用~/.codex/config.toml设idle_timeout_seconds≤300,vs code插件则需在连接字符串中添加pool_max_idle_time=30s等参数。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Codex中稳定连接数据库并避免空闲超时卡顿,必须显式配置连接池的保活参数,否则默认行为会让连接在数分钟后静默失效,导致下一次查询卡住十几秒才重连。
确认Codex运行环境类型
先判断你用的是 Codex CLI、VS Code 插件,还是 Desktop App——三者配置位置和生效方式完全不同。CLI 和 Desktop App 共享 ~/.codex/config.toml,而 VS Code 的 Codex Neon Postgres 插件完全不读这个文件,它只认自己面板里填的连接字符串。
如果你正在用 Neon Serverless PostgreSQL,【跳过本节所有 TOML 配置步骤,直接去“Neon专用连接配置”小节】。
Codex CLI / Desktop App 的通用连接池配置
这一步只对通过 codex db 类命令直连 MySQL/PostgreSQL 的场景有效,比如执行 codex db query "SELECT * FROM users"。
打开终端,编辑配置文件:vim ~/.codex/config.toml。
在文件末尾新增以下区块(注意缩进必须是两个空格):
[database.pool]max_idle_connections = 5max_open_connections = 20idle_timeout_seconds = 300connection_timeout_seconds = 10
【idle_timeout_seconds 必须 ≤ 300,否则 Neon 等 Serverless 数据库会主动断开空闲连接,导致下次请求必卡】。设为 300 是安全上限,设为 180 更稳妥。
保存后无需重启 Codex,下一次 codex db 命令就会加载新参数。
Neon专用连接配置(VS Code 插件路径)
方法一:用完整连接字符串自动携带连接池参数
登录 Neon 控制台 → 进入 Project → 点击 “Connection Details” → 找到 “Connection string” → 点击复制按钮。
该字符串形如 postgresql://<user>:<password>@<host>:<port>/<db>?sslmode=require&pool_max_conns=20&pool_min_conns=2&pool_max_idle_time=30s</db></port></host></password></user>,其中 pool_max_idle_time=30s 就是关键保活参数。
粘贴到 Codex Neon Postgres 插件的 “+ Add Connection” 输入框 → 点击 Connect。
方法二:手动补全缺失参数(仅当控制台未显示 pool 参数时)
复制原始字符串后,在末尾手动追加 &pool_max_idle_time=30s&pool_health_check_period=10s。
【绝不能删掉 ?sslmode=require,否则连接立即失败】。
连接成功后,插件左侧树状图展开任意表 → 右键 → “Run Query” → 输入 SELECT now(); → 回车。若 1 秒内返回时间戳,说明连接池已生效。











