Online Documentation Server
 ПОИСК
ods.com.ua Web
 КАТЕГОРИИ
Home
Programming
Net technology
Unixes
Security
RFC, HOWTO
Web technology
Data bases
Other docs

 

 ПОДПИСКА

 О КОПИРАЙТАХ
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.




Time Travel

Time Travel

После Postgres v6.2, time travel больше не поддерживается. Для этого было несколько причин: влияние на производительность, размер хранения, и файл pg_time, размер которого стремился к бесконечности за короткий промежуток времени.

Новые свойства, типа триггеров, позволяли при желании подражать поведению time travel, без добавления накладных расходов, когда это ненужно (для большинства пользователей, почти всё время). Дополнительную информацию ищи в каталоге с примерами contrib.

Time travel резко осуждается: Оставшийся текст в этом разделе сохранится до тех пор пока не будет переписан в контексте новой техники для выполнения тех же самых целей. Добровольцы? - thomas 1998-01-12

Postgres поддерживает такую идею как time travel. Это свойство позволяет пользователю выполнять исторические запросы. Например, найти текущее население города Mariposay:

SELECT * FROM cities WHERE name = 'Mariposa';

+---------+------------+----------+
|name     | population | altitude |
+---------+------------+----------+
|Mariposa | 1320       | 1953     |
+---------+------------+----------+
    
Postgres автоматически найдёт версию записи Mariposa, верную на текущий момент. Можно также задать временной диапазон. Например, посмотреть население Mariposa в прошлом и настоящем:
SELECT name, population
    FROM cities['epoch', 'now']
    WHERE name = 'Mariposa';
где "epoch" указывает на начало отсчёта системных часов.

Замечание: В системах Unix, это всегда полночь 1 января 1970 года по Гринвичу.

Если, несомненно, ты выполнял все примеры, то запросы выше возвратят:

+---------+------------+
|name     | population |
+---------+------------+
|Mariposa | 1200       |
+---------+------------+
|Mariposa | 1320       |
+---------+------------+
    

По умолчанию, начало временного диапазона - самое раннее время предоставленное системой и по умолчанию конец - текущее время; таким образом, приведённый выше временной диапазон может быть сокращён до ``[,].''



With any suggestions or questions please feel free to contact us