连接pgsql失败,吓了一跳,解决方法如下:
1.找到需要执行的文件
thinkphp5.1代码里早有准备,核心文件里的\thinkphp\library\think\db\connector\pgsql.sql
找到之后先不要执行
2.pgsql12以上,还需要修改
将\thinkphp\library\think\db\connector\pgsql.sql中的
pg_attrdef.adsrc AS fields_default,
改为
'''' AS fields_default,
原因为PG12中这个表已没有该字段
注意,这里是4个单引号’,而不是两个双引号
3.执行
如果没有修改就直接执行了sql的话,修改后再次执行时,会显示type已存在,删除sql中create type那一段:
CREATE TYPE "public"."tablestruct" AS ( "fields_key_name" varchar(100), "fields_name" VARCHAR(200), "fields_type" VARCHAR(20), "fields_length" BIGINT, "fields_not_null" VARCHAR(10), "fields_default" VARCHAR(500), "fields_comment" VARCHAR(1000) );