Can't figure out how to use now() in default for tsrange column (PG 9.2)

Started by Chris Bartlettover 13 years ago2 messagesgeneral
Jump to latest
#1Chris Bartlett
c.bartlett@paradise.net.nz

I'm trying to set [now(), 2049-12-31 00:00:00) as the default for a
tsrange column (Postgres 9.2), but can't figure out how to do it. I'm
either getting syntax errors or now() is being evaluated, so that the
default becomes something like [2012-07-14 14:04:35, 2049-12-31
00:00:00), which is not what I want. Can anyone point me in the right
direction, please?

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Chris Bartlett (#1)
Re: Can't figure out how to use now() in default for tsrange column (PG 9.2)

Chris Bartlett <c.bartlett@paradise.net.nz> writes:

I'm trying to set [now(), 2049-12-31 00:00:00) as the default for a
tsrange column (Postgres 9.2), but can't figure out how to do it. I'm
either getting syntax errors or now() is being evaluated, so that the
default becomes something like [2012-07-14 14:04:35, 2049-12-31
00:00:00), which is not what I want. Can anyone point me in the right
direction, please?

I think you'd need to use the constructor function, ie

default tsrange(now(), '2049-12-31 00:00:00')

BTW, that second value looks a whole lot like a poorly thought out
substitute for 'infinity' ...

regards, tom lane