提问人:Vamsi Krishna 提问时间:11/17/2023 最后编辑:philipxyVamsi Krishna 更新时间:11/18/2023 访问量:22
在 PostgreSQL 中存档具有外键约束的表
Archiving tables with foreign key constraints in PostgreSQL
问:
我正在从一组具有外键约束的表中存档数据。每晚运行一个作业,将超过 6 个月的数据存档到不同的存档数据库服务器,并从实时数据库表中清除数据。
booking: ID (UUID), created_date_time, updated_date_time, transaction_id (UUID)
transaction: ID (UUID), created_date_time, updated_date_time, booking_id (UUID)
transaction_event: ID (UUID), created_date_time, updated_date_time, transaction_id(UUID)
记录计数:预订 (25,65,881)、交易 (92,21,261)、transaction_event(2,27,65,114)。
Booking.transaction_id references Transaction.ID
Transaction.booking_id references Booking.ID
Transaction_Event.transaction_id references Transaction.ID
Booking Table (transaction_id) references Transaction Table (ID)
Transaction Table (booking_id) references Booking Table (ID)
Transaction_Event Table (transaction_id) references Transaction Table (ID)
3 个参考表中的记录的 created_date 和 updated_date 不同。因此,存档超过 6 个月的数据是很困难的。 清除数据不是问题,因为 ON DELETE CASCADE 的约束。
过程将超过 6 个月的记录从 Live DB 复制到存档 DB。内部过程检查表中大于剩余时间的相关记录。
有时我在重新创建外键时会遇到问题。这需要很多时间才能完成。
答: 暂无答案
评论