PostgreSQL 序列连接到列

PostgreSQL sequence connects to columns

所以我现在正在处理一个数据库,我可以看到有大量的序列。我想知道如何将 link 序列到相应的列以增加值。

例如,如果我创建一个新的 table 并带有列名 ID,我将如何将序列应用于该列。

通常,序列是隐式创建的。在 Postgres 10 或更高版本中使用 serial 列或(或者)使用 IDENTITY 列。详情:

  • Auto increment table column

序列在内部是独立的对象,可以按列 "owned",这对于上述示例是自动发生的。 (但你也可以有独立的序列。)它们随着专用函数 nextval() 递增,该函数自动用于上述列的列默认值。更多 sequence manipulation functions in the manual.

详情:

  • Safely and cleanly rename tables that use serial primary key columns in Postgres?

或者您可以使用 ALTER SEQUENCE 来操纵各种属性。

序列上的权限 必须针对 serial 列显式更改,而对于较新的 IDENTITY 列则隐式更改。