Thread: Unix timestamp , unix timestamp with microseconds

Unix timestamp , unix timestamp with microseconds

From
In. Martin Prášek
Date:
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  
 
 

Re: Unix timestamp , unix timestamp with microseconds

From
Richard Huxton
Date:
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

Re: Unix timestamp , unix timestamp with microseconds

From
Tom Lane
Date:
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
TIMESTAMPand "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