您可声明 SERIAL、BIGSERIAL 或 SERIAL8 数据类型的列。如果用户定义的例程需要变量、参数或返回的数据类型的全数值值,则请指定 INT、BIGINT 或 INT8 作为数据类型,而不是 SERIAL、BIGSERIAL 或 SERIAL8。这些数据类型是整数数据类型,其主要的不同之处在于它们的名称、它们的范围和它们的存储需求。序列数据类型的列不可存储小于 1 的值。表可只有一个 SERIAL 列且只有一个 BIGSERIAL 或 SERIAL8 列。因为通过数据库服务器指定该序列值,因此您不可使用 UPDATE 语句来更改数据库中现有的序列值。
要将显式的值插入到 SERIAL、BIGSERIAL 或 SERIAL8 列内,请指定任何大于零的整数。要获取生成整数值的替代方法的详细信息,请参阅 CREATE SEQUENCE 语句。
仅当您在列上设置唯一索引,SERIAL、BIGSERIAL 或 SERIAL8 列才是唯一的。(该索引还可为主键或唯一约束的形式。)带有唯一索引,序列数据类型列中的值保证是唯一的,但随后的值没有必要是连续的。