创建一张表,其中upstream 字段类型为jsonb,使用工具Navicat创建如下:
insert语句如下:
insert into port_forward(listen,upstream,create_date,update_date) values('123','{"a":"a"}'::jsonb,now(),now());
报错如下:
ERROR: malformed array literal: "{"a":"a"}"
语句是正确的,后来手写sql建表却没问题!
导出工具建表的sql,如下:
发现工具建表默认是json[]类型,原因在此。类型不是我们想要的类型,所以在工具建表的时候,还是要注意下,很多时候还是手写sql bug会更少!
手写的sql如下:
CREATE TABLE port_forward (
id serial NOT NULL,
listen varchar(255) not null,
upstream jsonb not null,
listen_protocal varchar(255) null,
proxy_connect_timeout varchar(255) null,
proxy_timeout varchar(255) null,
create_date timestamp(6) not null,
update_date timestamp(6) null,
remark varchar(255) null ,
constraint PK_port_forward primary key (id)
);