前情提要:

因为发布数据资源时,被选为主键的字段,在订阅审核通过时程序在目标库自动建表时自动成为物理主键,而数据库对主键的类型、长度是有限制的,因而程序对可选为主键的字段进行了过滤;


问题原因:

发布数据资产为资源时主键下拉列表没有可选值,一方面,可能是因为数据资产本身不具备成为主键条件的列;另一方面,发布SQL数据资产没有下拉值,可能是对应SQL资产在新建时,数据库驱动未返回正确的字符长度值,当前发现PostgreSQL数据驱动存在该问题:

 

解决办法:

定义SQL资产拼写SQL时,采用强转语法,即可规避该问题,如:

select id, cast( substring(str, 1, 8) as char(8)) as test from testkey

以上。