首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TP6操作pgSQL13报错解决方案

TP6操作pgSQL13报错解决方案

原创
作者头像
曾高飞
发布2025-05-20 02:54:51
发布2025-05-20 02:54:51
16300
代码可运行
举报
运行总次数:0
代码可运行

引言

在使用ThinkPHP 6框架进行开发时,遇到与PostgreSQL数据库交互时出现的错误。本文将分享一个关于TP6操作pgSQL13时遇到的报错问题及其解决方案。

问题描述

在执行以下代码时:

public function tt(){ $a = Items::create([ 'item' => 'think' ]); }

遇到以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
SQLSTATE[42703]: Undefined column: 7 ERROR: column pg_attrdef.adsrc does not exist LINE 10: pg_attrdef.adsrc AS fields_default,
^
...

问题分析

错误提示表明在执行数据库查询时,尝试访问了一个不存在的列pg_attrdef.adsrc。这通常是由于数据库的版本或配置问题导致的。

解决方案

根据社区讨论和尝试,以下是解决此问题的一些步骤:

  1. 修改pgsql.sql文件:将pgsql.sql文件中的61行: pg_attrdef.adsrc AS fields_default, 修改为: pg_get_expr(pg_attrdef.adbin, pg_attrdef.adrelid) AS fields_default,
  2. 重新创建数据库:重新执行修改后的pgsql.sql文件执行一遍。解决由于数据库版本或配置不一致导致的问题。

结论

直接修改pgsql.sql文件不能解决问题,但重新创建数据库并执行修改后的脚本可能是一个有效的解决方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 问题描述
  • 问题分析
  • 解决方案
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档