Database 为postgresql中的表创建字段指定默认值

Database 为postgresql中的表创建字段指定默认值,database,postgresql,timestamp,default-value,Database,Postgresql,Timestamp,Default Value,以下是我的桌子设计: CREATE TABLE "x"."y"( "z" timestamp NOT NULL, "a" Timestamp NOT NULL DEFAULT z + 18 months, ) WITH (OIDS=FALSE) ; 如何指定“a”的默认值 我可以在创建表时指定它吗?如postgresql文档所述 DEFAULT子句为列定义所在的列指定默认数据值。该值是任何无变量表达式(不允许子查询和对当前表中其他列的交叉引用)。默认表达式的数据类型必须与列的数

以下是我的桌子设计:

CREATE TABLE "x"."y"(
    "z" timestamp NOT NULL,
    "a" Timestamp NOT NULL DEFAULT z + 18 months,
)
WITH (OIDS=FALSE)
;
如何指定“a”的默认值


我可以在创建表时指定它吗?

如postgresql文档所述

DEFAULT子句为列定义所在的列指定默认数据值。该值是任何无变量表达式(不允许子查询和对当前表中其他列的交叉引用)。默认表达式的数据类型必须与列的数据类型匹配


最好使用例如规则()

谢谢。请告诉我如何指定18个月。我已将您的编辑还原为该问题,因为它实际上是一个全新的问题,并使现有的、已接受的答案无效,这将使未来的读者非常困惑。创建一个新的问题作为后续,链接回这个问题来解释这种联系,这是非常好的。对此表示感谢和抱歉。如果你问我一个新问题会很有帮助,因为我以前的编辑现在已经丢失了。不要惊慌,它们没有丢失,如果你点击“5分钟前编辑”标签,修订历史记录是可用的。这将带您到可以看到还原版本的位置。然后你就可以得到。