Al momento de salir la versión 6.2 de Postgres v6.2, la característica de viaje en el tiempo (time travel) ya no está soportada. Existen varias razones para esto: impacto sobre el rendimiento, el tamaño de almacenamiento, y un archivo pg_time que crece hasta el infinito en poco tiempo.
En cambio, dispone de nuevas características como los disparadores (triggers) que permiten imitar el comportamiento del viaje en el tiempo cuando se desee, sin incurrir en sobrecarga cuando no se necesita (en general, la mayor parte del tiempo). Vea los ejemplos en el directorio contrib para mayor información.
Time travel ha sido descartado: | |
---|---|
: El texto restante en esta sección se conserva solamente hasta que pueda ser reescrito ajustándose al contexto de las nuevas técnicas que permiten obtener los mismos resultados. ¿Voluntarios? - thomas 12-01-1998. |
Postgres soporta la idea del viaje en el tiempo. Esto permite a un usuario correr consultas históricas. Por ejemplo, para encontrar la población actual de la ciudad de Mariposa, usted debería realizar la siguiente consulta:
SELECT * FROM cities WHERE name = 'Mariposa'; +---------+------------+----------+ |name | population | altitude | +---------+------------+----------+ |Mariposa | 1320 | 1953 | +---------+------------+----------+ |
SELECT name, population FROM cities['epoch', 'now'] WHERE name = 'Mariposa'; |
En los sistemas Unix, esto siempre es la medianoche del 1 de enero de 1970, GMT. |
Si ha realizado todos los ejemplos hasta ahora, la consulta anterior devolverá:
+---------+------------+ |name | population | +---------+------------+ |Mariposa | 1200 | +---------+------------+ |Mariposa | 1320 | +---------+------------+ |
El valor predeterminado para el comienzo del intervalo de tiempo es el menor valor que pueda representar el sistema, mientras que el valor predeterminado para el final del intervalo es la hora actual. Por lo tanto, el intervalo de tiempo utilizado en la consulta anterior podría haberse abreviado como ``[,].''