解决postgresql 序列跳值的问题
我们回到第一个查询窗口,再次执行语句,此时返回序列值为148;再到第二个查询窗口,再次执行语句,此时返回序列值为153;到这里终于搞明白了序列的cache是作用于会话的,我们新建两个查询窗口实际是两个会话,postgresql数据库为每个会话cache了5个序列值,到此终于弄清楚了序列跳值的原因了。修改设置 Postgresql 序列值的场景并不多见,一般在不规范使用数据库的情况下存在!这种情况是说,200007 这个序列已经被占用了。修改这个错误的办法有两种一种是执行 nextval 函数,跳过已存在的 key。那序列就会从 2020 开始,之前小于 2020 的将会被跳过。
用户评论