呐喊
呐喊
# 原因 pg_attrdef.adsrc在pg版本大于10后已经被取消了,这个字段不存在了。 # 解决办法 将pgsql.sql的61行: ``` pg_attrdef.adsrc AS fields_default, ``` 更换为: ``` pg_get_expr(pg_attrdef.adbin, pg_attrdef.adrelid) AS fields_default, ```
# 报错信息  # 原因 $val['extra']可能为null,导致报错,strpos的第一个参数不能为null(php8.1以前可以为null) # 解决办法 将vendor/topthink/think-orm/src/db/connector/Pgsql.php的76行改为: ``` 'autoinc' => (empty($val['extra'])?0:(0 === strpos($val['extra'], 'nextval('))), ``` 修改后如下图: 