JSON中的PostgreSQL自动增量

JSON中的PostgreSQL自动增量,json,postgresql,auto-increment,postgresql-9.4,Json,Postgresql,Auto Increment,Postgresql 9.4,在PostgreSQL的新JSON类型中,是否可以只使用SQL(如串行)而不使用服务器代码自动递增 我真的无法想象你为什么要这么做,但我肯定 CREATE SEQUENCE whywouldyou_jsoncol_seq; CREATE TABLE whywouldyou ( jsoncol json not null default json_object(ARRAY['id'], ARRAY[nextval('whywouldyou_jsoncol_seq')::text]),

在PostgreSQL的新JSON类型中,是否可以只使用SQL(如串行)而不使用服务器代码自动递增

我真的无法想象你为什么要这么做,但我肯定

CREATE SEQUENCE whywouldyou_jsoncol_seq;

CREATE TABLE whywouldyou (
    jsoncol json not null default json_object(ARRAY['id'], ARRAY[nextval('whywouldyou_jsoncol_seq')::text]),
    dummydata text;
);

ALTER SEQUENCE whywouldyou_jsoncol_seq OWNED BY whywouldyou.jsoncol;

insert into whywouldyou(dummydata) values('');

select * from whywouldyou;

   jsoncol    | dummydata 
--------------+-----------
 {"id" : "1"} | 
(1 row)

注意,对于这个特殊的公式,它是json中的字符串
“1”
,而不是数字
1
。如果希望避免这种情况,您可能希望以另一种方式形成json对象。这只是一个例子。

我能想到的唯一方法是通过使用序列填充该属性的触发器。您能提供一个示例/伪代码吗?