thinkphp5.1 连接pgsql遇到的问题

    技术2025-05-30  19

    连接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) );
    Processed: 0.011, SQL: 9