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

CodeIgniter4对接PostgreSQL报relation不存在错误咨询

报错原因

CodeIgniter4 中 .env 配置文件的优先级高于 app/Config/Database.php 配置,你错误将PostgreSQL的端口号5432填写到了表前缀配置项database.default.DBPrefix中,导致框架执行SQL时自动给所有表名拼接了5432前缀,原本要查询的posts表被拼接为5432posts,而你的PostgreSQL库中不存在该名称的表,因此触发报错。

解决步骤

  • 打开项目根目录的.env文件,修改表前缀配置:
    把 database.default.DBPrefix = 5432 修改为 database.default.DBPrefix = ""
    如果你实际业务有统一的表前缀,填写对应的真实前缀即可,不要误填端口号
  • 清空CodeIgniter4的缓存目录writable/cache/下的所有临时文件,重启Nginx服务生效
  • 额外确认PostgreSQL的igniter_db库中确实存在posts表,同时注意PostgreSQL对表名大小写敏感,如果建表时用了大写表名,模型配置的表名也要完全对应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:54:03