ddl_historization

用SQL将所有DDL变更写入到数据库表中

概览

扩展包名版本分类许可证语言
ddl_historization0.2UTILGPL-2.0SQL
ID扩展名BinLibLoadCreateTrustReloc模式
4310ddl_historization-
相关扩展plpgsql pg_readme data_historization table_version gzip bzip zstd http pg_net
下游依赖schedoc

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.21817161514ddl_historizationplpgsql
RPMPIGSTY0.21817161514ddl_historization_$v-
DEBPIGSTY0.21817161514postgresql-$v-ddl-historization-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
el8.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
el9.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
el9.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
el10.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
el10.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
d12.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
d12.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
d13.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
d13.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
u22.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
u22.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
u24.x86_64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
u24.aarch64
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2
PIGSTY 0.2

构建

您可以使用 pig build 命令构建 ddl_historization 扩展的 RPM / DEB 包:

pig build pkg ddl_historization         # 构建 RPM / DEB 包

安装

您可以直接安装 ddl_historization 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install ddl_historization;          # 当前活跃 PG 版本安装
pig ext install -y ddl_historization -v 18  # PG 18
pig ext install -y ddl_historization -v 17  # PG 17
pig ext install -y ddl_historization -v 16  # PG 16
pig ext install -y ddl_historization -v 15  # PG 15
pig ext install -y ddl_historization -v 14  # PG 14
dnf install -y ddl_historization_18       # PG 18
dnf install -y ddl_historization_17       # PG 17
dnf install -y ddl_historization_16       # PG 16
dnf install -y ddl_historization_15       # PG 15
dnf install -y ddl_historization_14       # PG 14
apt install -y postgresql-18-ddl-historization   # PG 18
apt install -y postgresql-17-ddl-historization   # PG 17
apt install -y postgresql-16-ddl-historization   # PG 16
apt install -y postgresql-15-ddl-historization   # PG 15
apt install -y postgresql-14-ddl-historization   # PG 14

创建扩展

CREATE EXTENSION ddl_historization CASCADE;  -- 依赖: plpgsql

用法

来源:READMEreleases

ddl_historization 是一个 PostgreSQL 扩展,用于把数据库中的 DDL 变更记录到历史化表中。上游 README 说明可通过 make installpgxn install ddl_historization,以及 AWS RDS 上的 pg_tle 路径完成安装。

启用日志

CREATE EXTENSION ddl_historization;

README 将该扩展描述为使用 PostgreSQL event trigger 对数据库中的 DDL 变更做历史化记录。

上游当前文档

  • 集群本地安装:make install
  • PGXN 安装:pgxn install ddl_historization
  • AWS RDS / pg_tle:用 make pgtle 构建 pgtle.ddl_historization-0.3.sql
  • 测试套件:使用 pgTAP 的 make test

值得关注的发布说明

  • 0.2 是这次刷新任务要求对应的版本。
  • 0.0.4 的发布说明提到新增了启动和停止日志记录的函数。
  • 0.0.6 的发布说明提到新增了 ddl_history_column 表。
  • 0.0.7 的发布说明提到修复了与外键相关的日志记录问题。

注意事项

当前上游 README 仍较简略,没有给出 start/stop logging 函数的精确 SQL 签名,也没有完整说明后续版本新增历史化表的 schema。除非 README 或发布说明更明确,否则这里应保持保守描述。


最后修改 2026-04-19: update extension stub docs (aa5941a)