You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Travis CI构建失败:psql无法连接PostgreSQL服务器求解决

解决Travis CI中PostgreSQL连接失败的问题

我之前也踩过一模一样的坑!你的问题核心出在端口不匹配上:

你在.travis.yml里设置了PGPORT=5433,告诉PostgreSQL服务要在5433端口启动,但执行psql命令的时候没指定这个端口——psql默认会去连接5432端口,而这个端口根本没有PostgreSQL服务在运行,自然就抛出"No such file or directory"的错误了。

直接有效的解决方案

修改你的创建数据库命令,显式指定端口参数,用环境变量$PGPORT来适配你配置的端口:

psql -c 'create database travis_ci_test;' -U postgres -p $PGPORT

这样不管后续你调整端口号,命令都能自动匹配,不用重复修改。

额外的排查与优化建议

  • 在before_script阶段加一行调试命令,确认环境变量是否正确加载:
    echo "当前PostgreSQL端口配置为: $PGPORT"
    
  • 如果你的.travis.yml里addons部分有PostgreSQL版本或端口配置,要确保和PGPORT保持一致,比如:
    addons:
      postgresql: "12"
      postgresql_port: 5433
    
  • 可以先测试连接是否正常,再执行创建数据库命令,提前排查问题:
    psql -h localhost -p $PGPORT -U postgres -c '\l'
    

按这个思路调整后,Travis CI应该就能顺利连接到PostgreSQL并创建测试数据库了。

内容的提问来源于stack exchange,提问作者Marcelo Toledo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:02:52