【发布时间】:2026-01-27 10:35:01
【问题描述】:
我试图弄清楚为什么我的表中的序列号呈指数级增长,而这可能是我的 API 中的一个问题,我仍然需要弄清楚,我遇到了这个查询
找到序列的当前值
SELECT * from some_sequence
它给了我一个名为log_cnt 的列。该列的值一直在 30 左右跳跃。我不确定这个数字是什么意思,以及这是否会影响序列中的下一个数字。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
如果序列值在跳跃,或者某人/事物直接改变了
last_value,或者有很多失败的插入正在用完数字而没有出现在表格中。 -
您的序列是否为缓存设置了 >1 的值?
-
实际上是插入失败导致数字跳跃。感谢您的输入@AdrianKlaver
-
@jjanes 我不知道如何检查。但如果这是默认设置,那么我肯定没有更改此设置。
-
查找缓存大小
select * from pg_sequence where seqrelid = 'some_seq'::regclass;更多信息pg_sequence
标签: postgresql sequence