autoinc

用于自动递增字段的函数

概览

扩展包名版本分类许可证语言
autoinc1.0FUNCPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
4881autoinc-
相关扩展pg_idkit pgx_ulid pg_uuidv7 permuteseq pg_hashids sequential_uuids topn quantile

版本

PG18PG17PG16PG15PG14
1.01.01.01.01.0

安装

提示:这是 PostgreSQL 内核自带的 contrib 扩展

CREATE EXTENSION autoinc;

用法

autoinc: 自增触发器函数

提供使用序列自增指定列的触发器函数。

CREATE EXTENSION autoinc;

触发器函数

函数说明
autoinc()在插入时(以及可选的更新时)使用序列自增列值

参数为(列名, 序列名)的配对。仅当初始值为零或 NULL 时才会替换该值。

示例

CREATE SEQUENCE next_id;
CREATE TABLE ids (id int4, idesc text);

CREATE TRIGGER ids_autoinc
  BEFORE INSERT ON ids
  FOR EACH ROW
  EXECUTE FUNCTION autoinc('id', 'next_id');

INSERT INTO ids (idesc) VALUES ('first');  -- id 自动从 next_id 序列分配

-- 多个自增列
CREATE TRIGGER multi_autoinc
  BEFORE INSERT ON my_table
  FOR EACH ROW
  EXECUTE FUNCTION autoinc('col1', 'seq1', 'col2', 'seq2');

最后修改 2026-03-12: update extension pages (f579993)