Похоже, вам нужна простая таблица истории?
Колонны
part_history
id
part_id
date_modified (timestamp)
action ( or maybe action_id if you have an actions table)
vendor_id
И когда вы получите новую деталь и добавите ее в таблицу parts2vendor (я думаю, вы сказали), вы будете использовать вставленный идентификатор детали (или уникальный идентификатор детали) для добавления записи в историю
INSERT
(id, part_id, action, vendor_id)
46565, 5757575, "Purchased", 757575
Дата будет вставлена как отметка времени postgres
Чем для любой части вы можете получить историю, опираясь на уникальный идентификатор
сортировка по дате_модификации DESC.