PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 的解决方案

问题原因:pdshell逆向pg的sql脚本滞后,与pg新版本不兼容,

解决方案:修改掉不兼容的sql代码
1、Database->Edit Current DBMS,如下
PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 的解决方案_第1张图片
2、PostgreSQL 9.x->Script->Objects找到Column和Key;如下
PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 的解决方案_第2张图片
3、将 Column->SqlListQuery 选项里 SELECT 中的 c.attnotnull 替换为 cast(nullif(c.attnotnull, false) as varchar(1));如下
PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 的解决方案_第3张图片
4、将 Key->SqlListQuery 选项里 SELECT 中的 x.indisprimary 替换为 cast(nullif(x.indisprimary, false) as varchar(1))
PDshell16反向pgsql中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 的解决方案_第4张图片

修改完上面两个值保存,重新逆向生成pd表结构,就能加载到字段了

你可能感兴趣的:(数据库)