md5hash

提供128位MD5的原生数据类型

概览

扩展包名版本分类许可证语言
md5hash1.0.1TYPEBSD 2-ClauseC
ID扩展名BinLibLoadCreateTrustReloc模式
3550md5hash-
相关扩展hashlib xxhash prefix semver unit pgpdf pglite_fusion asn1oid

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY1.0.11817161514md5hash-
RPMPIGSTY1.0.11817161514md5hash_$v-
DEBPIGSTY1.0.11817161514postgresql-$v-md5hash-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
u22.x86_64
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
u22.aarch64
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
u24.x86_64
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
u24.aarch64
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1
PIGSTY 1.0.1

构建

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

pig build pkg md5hash         # 构建 RPM / DEB 包

安装

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

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

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

pig install md5hash;          # 当前活跃 PG 版本安装
pig ext install -y md5hash -v 18  # PG 18
pig ext install -y md5hash -v 17  # PG 17
pig ext install -y md5hash -v 16  # PG 16
pig ext install -y md5hash -v 15  # PG 15
pig ext install -y md5hash -v 14  # PG 14
dnf install -y md5hash_18       # PG 18
dnf install -y md5hash_17       # PG 17
dnf install -y md5hash_16       # PG 16
dnf install -y md5hash_15       # PG 15
dnf install -y md5hash_14       # PG 14
apt install -y postgresql-18-md5hash   # PG 18
apt install -y postgresql-17-md5hash   # PG 17
apt install -y postgresql-16-md5hash   # PG 16
apt install -y postgresql-15-md5hash   # PG 15
apt install -y postgresql-14-md5hash   # PG 14

创建扩展

CREATE EXTENSION md5hash;

用法

md5hash: PostgreSQL 原生 MD5 哈希数据类型

md5hash 扩展提供了高效的 128 位数据类型,以二进制格式(16 字节)而非文本格式(32+ 字节)存储 MD5 哈希值。

CREATE EXTENSION md5hash;

CREATE TABLE test_table (
    id md5hash PRIMARY KEY
);

INSERT INTO test_table VALUES ('c4ca4238a0b923820dcc509a6f75849b');

SELECT * FROM test_table
WHERE id = 'c4ca4238a0b923820dcc509a6f75849b';

运算符

支持标准比较运算符:=<><><=>=

索引支持

内置 Btree 索引运算符类,可在 md5hash 列上实现高效查找和主键约束。

存储优势

与以 text 类型存储 MD5 相比,md5hash 类型大约节省 40% 的存储空间,并且索引查找速度更快。


最后修改 2026-03-14: update extension metadata (953cbd0)