Unix timestamp , unix timestamp with microseconds

Started by ing.Martin Prášekalmost 22 years ago3 messagesgeneral
Jump to latest
#1ing.Martin Prášek
prasek@silesia.cz

I I read the documentation well (PG 7.3.3 ) , i see that there is not a native support for data type UNIX TIMESTAMP and "unix timestamp expressed as microseconds"

ie there it is impossible to direct insert and select

seconds_from _Epoch
seconds_from _Epoch (period) microseconds_part
seconds_from _Epochmicroseconds_part

without some data conversion ?

Thanx for help

#2Richard Huxton
dev@archonet.com
In reply to: ing.Martin Prášek (#1)
Re: Unix timestamp , unix timestamp with microseconds

In. Martin Pr�ek wrote:

I I read the documentation well (PG 7.3.3 ) , i see that there is not a native support for data type UNIX TIMESTAMP and "unix timestamp expressed as microseconds"

ie there it is impossible to direct insert and select

seconds_from _Epoch
seconds_from _Epoch (period) microseconds_part
seconds_from _Epochmicroseconds_part

without some data conversion ?

You could use a numeric type if that's what you want - you'll want to
check the size but something like numeric(12,3) should do the job. Be
aware that numerics are much slower than int's though.

If you want separate access to the seconds/microsecs parts then you'll
need your define your own type - other people have done so, but you'll
need some knowledge of C.

--
Richard Huxton
Archonet Ltd

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Huxton (#2)
Re: Unix timestamp , unix timestamp with microseconds

Richard Huxton <dev@archonet.com> writes:

In. Martin Pr�ek wrote:

I I read the documentation well (PG 7.3.3 ) , i see that there is not a native support for data type UNIX TIMESTAMP and "unix timestamp expressed as microseconds"

ie there it is impossible to direct insert and select

seconds_from _Epoch
seconds_from _Epoch (period) microseconds_part
seconds_from _Epochmicroseconds_part

without some data conversion ?

You could use a numeric type if that's what you want -

I'd stick with the basic float representation of timestamps. We don't
have the particular syntaxes suggested above, but the functionality is
all there, eg

regression=# select extract(epoch from now());
date_part
------------------
1085153447.89091
(1 row)

regards, tom lane