insert_username

用于跟踪谁更改了表的函数

概览

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

版本

PG18PG17PG16PG15PG14
1.01.01.01.01.0

安装

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

CREATE EXTENSION insert_username;

用法

insert_username: 记录修改表行的用户

提供将当前用户名存储到指定文本列的触发器函数。

CREATE EXTENSION insert_username;

触发器函数

函数说明
insert_username()将当前用户名存储到指定列

参数:用于存储用户名的文本列名。

示例

CREATE TABLE audit_log (
  id serial PRIMARY KEY,
  data text,
  modified_by text
);

-- 记录插入者
CREATE TRIGGER set_insert_user
  BEFORE INSERT ON audit_log
  FOR EACH ROW
  EXECUTE FUNCTION insert_username('modified_by');

-- 记录更新者
CREATE TRIGGER set_update_user
  BEFORE UPDATE ON audit_log
  FOR EACH ROW
  EXECUTE FUNCTION insert_username('modified_by');

INSERT INTO audit_log (data) VALUES ('test');
SELECT modified_by FROM audit_log;  -- 返回当前用户

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