Postgresql jsonb默认插入值与动态时间戳

时间:2017-12-09 14:28:40

标签: postgresql jsonb

我的postgres数据库中有statusjsonb

我可以用这样的东西预填充json。

CREATE TABLE ... status jsonb NOT NULL DEFAULT '{"hello": "world"}' ...

但我要问的是,我想要的是一个JSON属性,其时间戳使用函数now()进行预先解析

CREATE TABLE ... status jsonb NOT NULL DEFAULT '{"created_at": "'now()'"}' ... CREATE TABLE ... status jsonb NOT NULL DEFAULT '{"created_at": "'+now()'+"}' ...

不幸的是,上述方法不起作用。怎么办呢?

1 个答案:

答案 0 :(得分:0)

您必须使用jsonb_build_object在运行时创建JSONB:

CREATE TABLE foobar 
    (status jsonb NOT NULL DEFAULT jsonb_build_object('created_at', now()));

SQL小提琴here