From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Jorge Romeo <jromeo(at)samca(dot)com> |
Cc: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Timestamp como primary key |
Date: | 2009-05-27 13:38:59 |
Message-ID: | 20090527133859.GU32650@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Jorge Romeo | 2009-05-27 13:47:00 | RE: Timestamp como primary key |
Previous Message | Jorge Romeo | 2009-05-27 13:33:35 | RE: Timestamp como primary key |