Postgresql 序列生成器如何工作?

Posted

技术标签:

【中文标题】Postgresql 序列生成器如何工作?【英文标题】:How does Postgresql Sequence Generator Work? 【发布时间】:2014-12-24 10:33:56 【问题描述】:

我有一个关于 Postgresql 序列生成器的问题。

例如,我在我的架构中注册了一个序列,在同一个架构中,我在名为“USER”的表中插入了记录,因此默认情况下它的 ID 为 1。但是,如果我在一个名为“POSTS”的表,一旦我在所述字段上进行插入,名为“POSTS”的表上还没有数据。它的 id 是否为 2?

我的问题将生成相同的序列生成器根据先前插入的 ID 或记录全局生成序列,而不管表如何?

【问题讨论】:

postgresql.org/docs/current/static/… 和 postgresql.org/docs/current/static/sql-createsequence.html 【参考方案1】:

您可以根据需要创建任意数量的序列。 您可以将单个序列关联到多个列。 默认情况下,当您创建 2 个表并将它们自己的列声明为串行时,您将创建 2 个单独的序列,因此您将从每个表中的 1 开始。以独立的方式。

【讨论】:

以上是关于Postgresql 序列生成器如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

postgresql中的范围序列

postgresql 生成没有间隙的序列

在PostgreSQL 和 Hive中生成日期序列

如何根据PostgreSQL中同一行的两个不同列更新具有唯一序列号的列?

PostgreSQL PG序列 与 序列是否可以绑定到多个表的疑问

Postgresql 可序列化事务未按预期工作