А почему не выделить число, начинающееся от 1, увеличивающееся на единицу с каждым шагом. И идентифицировать все события произошедшие от начала отрезка времени и до начала следующего отрезка времени, не включая само начало следующего отрезка, этим идентификатором.
Таким образом в дне 96 таких отрезков, в году 36500 - 4 * 365 = 36500 - 1460 = 35040 шагов в год ( +96 в високосный ). Получается что с одним глобальным объектом - секвенцией - который постоянно прирастает на единицу с помощью метронома выставленного на 15 минут, можно обслуживать всю базу авторитетным единым источником идентификатора текущего промежутка времени, не тратя время на вычисления внутри отдельно взятой процедуры или запроса.
По - моему в Постгрес для этого даже есть какие - то очень удобные рычаги, позволяющие задать развертку, глобальную или более узкого обзора, которая обеспечит доступ к такому объекту, как к глобальной переменной, с минимальными затратами ресурсов.