Postgres循环表(从1开始的顺序,并重写旧行)

时间:2019-06-03 18:30:51

标签: postgresql

我希望表包含日志并被循环,因此,当按顺序到达最后一个键时,它将从一开始重新编写并重写旧日志。

如果我将序列标记为循环并执行这样的请求,我可以做到:

INSERT INTO logs (initiator_id, target_id, action, message) VALUES ($1, $2, $3, $4)
ON CONFLICT (id) DO UPDATE SET target_id=$2, initiator_id=$1, action=$3, message=$4;

我不喜欢的是,如果发生冲突,我需要重复同样的问题(第2行)

我要问的是什么好方法,或者还有其他更实用的方法来处理需要每3个坐骑说清楚的表?

或者也许有一种无需使用序列即可生成唯一ID的方法?

1 个答案:

答案 0 :(得分:0)

现在我决定将2个列作为主键(日期,initiator_id),因为日志一次总是1次操作。