Unable to convert date to tm

Started by Joerg Ludwigover 23 years ago2 messagesbugs
Jump to latest
#1Joerg Ludwig
joerg.ludwig@hvf-bs.net

Hello,

I get an error if I try to convert a date before 1970 into a timestamp:

# SELECT (date '1970-01-01')::timestamp;
timestamptz
------------------------
1970-01-01 00:00:00+01
(1 row)

# SELECT (date '1969-12-31')::timestamp;
ERROR: Unable to convert date to tm

I get this error using the RPM postgresql-7.2.1-5 (Red Hat) and
postgresql-7.2.2-1PGDG.
(Btw: What does "tm" stand for?)

On another Linux machine (which should be configured quite similar)
using RPM postgresql-7.2.1-2PGDG there is no error - both SELECT
statements work as expected.

Thx in advance,
Joerg Ludwig

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joerg Ludwig (#1)
Re: Unable to convert date to tm

"Joerg Ludwig" <joerg.ludwig@hvf-bs.net> writes:

# SELECT (date '1969-12-31')::timestamp;
ERROR: Unable to convert date to tm

Let me guess --- 7.3 Red Hat installation?

This is brain damage in mktime() in recent glibc releases; they
arbitrarily decided to stop supporting pre-1970 dates.

We've patched around it for Postgres 7.3, but there's no fix available
for existing PG releases. Send complaints to the glibc folk.

regards, tom lane