Entonces basta con cambiar el tipo de las fechas a "timestamp with time zone" 
¿no?

Otra pregunta, ya por curiosidad:

¿Quién se encarga de la traducción a hora local, el SGBD o el driver de 
conexión?


Jorge

 

-----Mensaje original-----
De: Alvaro Herrera [mailto:alvhe...@alvh.no-ip.org] 
Enviado el: miércoles, 27 de mayo de 2009 15:39
Para: Jorge Romeo
CC: Jaime Casanova; pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] Timestamp como primary key

Jorge Romeo escribió:
> Pues no había caído en eso. En el sistema actual dan problemas, que se 
> solucionan
> "a mano" pero en este caso se perderían hasta dos horas de datos, pues la 
> inserción daría error... 
> 
> Se me ocurre que podría introducir la hora UTC, que no cambia. Luego tendría 
> que tenerlo en cuenta en las aplicaciones que usen los datos.
> 
> ¿Qué me sugieres? Estoy empezando y aun no me había 
> encontrado con este problema.

Mi sugerencia es que uses el tipo timestamp with time zone (también
conocido como timestamptz)

Lo que hace este tipo es "rotar" la hora actual a UTC según el huso
horario actual (TimeZone), y guardar en UTC.  Al extraer, "rota" desde
UTC hasta el huso horario que corresponde para esa fecha/hora y al
TimeZone que está en vigor.  Es decir, si ingresas algo en +1 y luego lo
mira un cliente que está en +5, van a obtener la misma hora pero cada
uno en su propio huso horario.

Lo otro es que la aritmética funciona correctamente, o sea si restas dos
timestamptz obtienes la cantidad "real" de horas que transcurrieron.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"It takes less than 2 seconds to get to 78% complete; that's a good sign.
A few seconds later it's at 90%, but it seems to have stuck there.  Did
somebody make percentages logarithmic while I wasn't looking?"
                http://smylers.hates-software.com/2005/09/08/1995c749.html
--
TIP 8: explain analyze es tu amigo


--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a