当前位置: 首页> 教育> 幼教 > 佛山外发加工网_杭州比较有名的设计院_在哪里推广比较好_中超最新积分榜

佛山外发加工网_杭州比较有名的设计院_在哪里推广比较好_中超最新积分榜

时间:2025/7/11 18:09:32来源:https://blog.csdn.net/2401_83375581/article/details/143651422 浏览次数:0次
佛山外发加工网_杭州比较有名的设计院_在哪里推广比较好_中超最新积分榜

ALTER SEQUENCE public.pitr_test_id_seq CACHE XXXXX;
SELECT nextval('pitr_test_id_seq');
SELECT setval('pitr_test_id_seq', 42);            下一次 nextval 会返回 43
SELECT setval('pitr_test_id_seq', 42, true);     同上
SELECT setval('pitr_test_id_seq', 42, false);    下一次 nextval 将返回 42

currval(pitr_test_id_seq)    返回最近一次用 nextval 获取的指定序列的值
lastval()    返回最近一次用 nextval 获取的任何序列的值
nextval(pitr_test_id_seq)    递增序列并返回新值
setval(pitr_test_id_seq, bigint)    设置序列的当前值
setval(pitr_test_id_seq, bigint, boolean)    设置序列的当前值以及 is_called 标志

备注:这里 CACHE 如果过大会造成表类似锁表状态,但是和锁表又有非常大的区别。遇到问题的时候就算重启服务都无法解决。
有一次我们一个研发写了一个 ALTER SEQUENCE public.xxx_seq CACHE 1731506966603517955;
最后问题还是通过解析日志才找到的。然后再通过模拟多个 SESSION 进行请求。

这里的 cache 是这个意思,一次性预先分配指定数量的序列值,然后将其存储在内存中,以便能尽快被会话使用。
The clause CACHE cache enables sequence numbers to be preallocated and stored in memory for faster access.

这里进程还不能通过调用 pg_terminate_backend 来实现关闭进程的操作。

单独执行语句 ALTER SEQUENCE public.pitr_test_id_seq CACHE XXXXX; 不会有问题,但是在执行完这个语句之后,使用 select nextval('pitr_test_id_seq'); 来获取序列的下一个键值无法被运行,会一直处于等待的状态。还是需要从操作系统的层面进行 kill -9 select nextval('pitr_test_id_seq'); 进程的 PID,然后再执行 ALTER SEQUENCE public.pitr_test_id_seq CACHE 1;  这里的 CACHE 的值就是 1。

关键字:佛山外发加工网_杭州比较有名的设计院_在哪里推广比较好_中超最新积分榜

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: