openclaw启动失败主因是postgresql容器未就绪或凭据错误:先用docker ps -a检查postgres容器状态,若exited(1)或restarting则属数据库自身异常;再查docker logs定位fatal报错,90%源于database_url格式错误(如缺postgresql://、密码含特殊字符未url编码、用户名误写postgres而非openclaw)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw Docker部署后服务启动失败,日志反复出现“password authentication failed”或“database does not exist”,说明PostgreSQL容器虽已运行,但OpenClaw无法完成身份认证或目标数据库根本未初始化。
确认数据库容器是否真正就绪
执行docker ps -a | grep postgres,查看postgres容器状态。若显示Exited (1)或Restarting,说明数据库进程启动失败,不是OpenClaw配置问题,而是PostgreSQL自身异常。
进入该容器日志:docker logs 【容器ID】,重点查找FATAL: password authentication failed或pg_hba.conf相关报错。这类错误90%源于环境变量DATABASE_URL格式错误,例如漏写postgresql://前缀、密码含特殊字符未URL编码、用户名写成postgres而非openclaw。
直接连接测试:docker exec -it 【postgres容器名】 psql -U openclaw -d postgres。若提示password authentication failed,证明凭据不匹配;若提示,则需手动建库。
手动创建缺失数据库与用户
方法一:使用psql命令行(推荐)
第一步:进入PostgreSQL容器:docker exec -it postgres bash
第二步:切换至postgres用户并登录:su - postgres && psql
第三步:执行建库与授权语句:
CREATE DATABASE openclaw_prod;
CREATE USER openclaw WITH PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE openclaw_prod TO openclaw;
第四步:退出psql,再执行\q两次退出容器。这一步必须做完,否则OpenClaw仍会因权限不足拒绝连接。
方法二:通过SQL脚本挂载(适合CI/CD)
在宿主机新建init.sql,内容同上三行SQL;修改docker-compose.yml,在postgres服务下添加volume挂载:- ./init.sql:/docker-entrypoint-initdb.d/init.sql;重启postgres容器,脚本将自动执行。
修正pg_hba.conf监听配置
PostgreSQL默认只监听本地回环地址,Docker容器间通信必须显式放开网段。进入postgres容器后,执行:echo "host all all 172.16.0.0/12 md5" >> /var/lib/postgresql/data/pg_hba.conf。
【关键操作】 修改后必须重启PostgreSQL服务,否则配置不生效:在容器内执行pg_ctl restart -D /var/lib/postgresql/data。若跳过此步,OpenClaw仍会报connection refused。
验证监听状态:在容器内运行netstat -tuln | grep 5432,输出中应包含0.0.0.0:5432或*:5432,而非仅127.0.0.1:5432。
同步更新OpenClaw的DATABASE_URL
打开.env文件,定位DATABASE_URL字段。确保其格式为:postgresql://openclaw:your_secure_password@postgres:5432/openclaw_prod。
注意三个硬性要求:协议头必须是postgresql://(不是postgres://或jdbc:postgresql://);主机名必须用postgres(即docker-compose中定义的服务名,不可写localhost或127.0.0.1);数据库名必须与上一步手动创建的名称完全一致(包括大小写)。
保存.env后,重启OpenClaw容器:docker compose restart openclaw。此时日志中不再出现FATAL级数据库错误,而是开始加载模型和技能。










