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

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

From
Chris Bartlett
Date:
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?

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