postgresql - 跳过 postgresql 序列中的某些范围?

标签 postgresql sequence psql

我想按顺序跳过一些范围:

Create sequence id_seq;

假设我有一个序列 Id_seq.. 它从 100 开始..

当它达到199..那么它应该从1000开始,当它达到1999..它应该从10000开始..

setval(100,'Id_seq');

postgres 是否有任何默认配置来执行此操作?

多个进程将使用此序列..因此在进程中使用setval()手动分配会带来一些困难..

最佳答案

不,没有内置任何东西可以做到这一点。我以前从未听说过有人想这样做。

如果您真的关心得到的数字,那么序列无论如何都不适合您。你可以很容易地得到其中的间隙。它旨在生成不同的数字而不影响并发性。

关于postgresql - 跳过 postgresql 序列中的某些范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41673999/

相关文章:

postgresql `at time zone` 不正确的行为?

sql - 如何在postgresql中的单个函数中编写多个查询

Django Query 每天将两行中的值聚合为单个结果

mysql - 使用序列循环更新列集?

无边界 R 序列生成

database - PostgreSQL "DESCRIBE TABLE"

psql - 将 SQL Shell (psql) (postgres) 添加到 Windows 终端

postgresql - 如何在 Postgres 中将一个类型拆分为多个列?

sql - 优化 Hibernate Sequence ID 生成

postgresql - psql: 致命角色 "root"不存在