Моя цель - отслеживать изменения объектов в таблице.Таким образом, таблица содержит один или несколько снимков каждого объекта.В частности, объекты имеют дату создания и категорию.Дата создания является фиксированной для объекта, но категория может меняться со временем (т. Е. Она может отличаться в зависимости от снимков).
Теперь один конкретный вариант использования заключается в том, что мне нужно найти n
самого нового(дата создания) объекты, где текущий снимок принадлежит определенной категории.Таким образом, моя проблема похожа на PGWiki: Find Recent Activity .Однако я не могу адаптировать это решение к своему варианту использования из-за ограничения, что категория может измениться.
Всегда есть возможность нормализовать таблицы и хранить снимки и объекты отдельно - таблица объектов будет ссылаться нановейший снимок.Тем не менее, я хочу смягчить объединения как можно дольше.Лучшее решение, которое я придумала до сих пор, - это сохранить номер ревизии, где ревизия 0
зарезервирована для самой новой ревизии.Предостережение, конечно, заключается в том, что все вставки, кроме первой, становятся намного более сложными.
В моем распоряжении postgres 10.