internal time format

Started by justinabout 23 years ago2 messageshackers
Jump to latest
#1justin
jtyme@intrusic.com

I'm generating binary copy files and was wondering if someone could quickly
shed some light on the internal binary format used to represent time types,
specifically timestamp{w/tz} types. I'm in a bit of a hurry unfortunately,
so I figured I'd try the list first in an effort to save some time. Even a
few tips and pointers to which source files and/or routines to look at would
be sufficient.

Thanks.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: justin (#1)
Re: internal time format

justin <jtyme@intrusic.com> writes:

I'm generating binary copy files and was wondering if someone could quickly
shed some light on the internal binary format used to represent time types,
specifically timestamp{w/tz} types.

It's usually a float8, but an int8 if you built with
--enable-integer-datetimes. IIRC, the float8 represents seconds
before/since midnight 1/1/2000, the int8 the same but multiplied by
10^6. For timestamptz the reference is midnight GMT, for timestamp
it's, uh, just midnight ...

pointers to which source files and/or routines to look at would
be sufficient.

The date and time related files in src/backend/utils/adt/ are what
to look at.

regards, tom lane