pg_vault_tde
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_vault_tde | 1.7.2 | SEC | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 7510 | pg_vault_tde | 是 | 是 | 是 | 是 | 否 | 否 | - |
pkg 1.7.2; SQL 1.7; PG17+, OpenSSL 3/no EL8; preload; export 1.7.0 encrypted TOAST with old binary; rewrite encrypted tables; coordinate custom WAL 128->161 on primary/standbys.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.7.2 | 1817161514 | pg_vault_tde | - |
| RPM | PIGSTY | 1.7.2 | 1817161514 | pg_vault_tde_$v | openssl-libs, libcurl |
| DEB | PIGSTY | 1.7.2 | 1817161514 | postgresql-$v-pg-vault-tde | `libssl3 |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | N/A | N/A | N/A | N/A | N/A |
| el8.aarch64 | N/A | N/A | N/A | N/A | N/A |
| el9.x86_64 | PIGSTY 1.7.2 el9.x86_64.pg18 : pg_vault_tde_18 pg_vault_tde_18-1.7.2-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.7.2 el9.x86_64.pg17 : pg_vault_tde_17 pg_vault_tde_17-1.7.2-1PGSTY.el9.x86_64.rpm
| N/A | N/A | N/A |
| el9.aarch64 | PIGSTY 1.7.2 el9.aarch64.pg18 : pg_vault_tde_18 pg_vault_tde_18-1.7.2-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.7.2 el9.aarch64.pg17 : pg_vault_tde_17 pg_vault_tde_17-1.7.2-1PGSTY.el9.aarch64.rpm
| N/A | N/A | N/A |
| el10.x86_64 | PIGSTY 1.7.2 el10.x86_64.pg18 : pg_vault_tde_18 pg_vault_tde_18-1.7.2-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.7.2 el10.x86_64.pg17 : pg_vault_tde_17 pg_vault_tde_17-1.7.2-1PGSTY.el10.x86_64.rpm
| N/A | N/A | N/A |
| el10.aarch64 | PIGSTY 1.7.2 el10.aarch64.pg18 : pg_vault_tde_18 pg_vault_tde_18-1.7.2-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.7.2 el10.aarch64.pg17 : pg_vault_tde_17 pg_vault_tde_17-1.7.2-1PGSTY.el10.aarch64.rpm
| N/A | N/A | N/A |
| d12.x86_64 | PIGSTY 1.7.2 d12.x86_64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.7.2 d12.x86_64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~bookworm_amd64.deb
| N/A | N/A | N/A |
| d12.aarch64 | PIGSTY 1.7.2 d12.aarch64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.7.2 d12.aarch64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~bookworm_arm64.deb
| N/A | N/A | N/A |
| d13.x86_64 | PIGSTY 1.7.2 d13.x86_64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~trixie_amd64.deb
| PIGSTY 1.7.2 d13.x86_64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~trixie_amd64.deb
| N/A | N/A | N/A |
| d13.aarch64 | PIGSTY 1.7.2 d13.aarch64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~trixie_arm64.deb
| PIGSTY 1.7.2 d13.aarch64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~trixie_arm64.deb
| N/A | N/A | N/A |
| u22.x86_64 | PIGSTY 1.7.2 u22.x86_64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~jammy_amd64.deb
| PIGSTY 1.7.2 u22.x86_64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~jammy_amd64.deb
| N/A | N/A | N/A |
| u22.aarch64 | PIGSTY 1.7.2 u22.aarch64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~jammy_arm64.deb
| PIGSTY 1.7.2 u22.aarch64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~jammy_arm64.deb
| N/A | N/A | N/A |
| u24.x86_64 | PIGSTY 1.7.2 u24.x86_64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~noble_amd64.deb
| PIGSTY 1.7.2 u24.x86_64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~noble_amd64.deb
| N/A | N/A | N/A |
| u24.aarch64 | PIGSTY 1.7.2 u24.aarch64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~noble_arm64.deb
| PIGSTY 1.7.2 u24.aarch64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~noble_arm64.deb
| N/A | N/A | N/A |
| u26.x86_64 | PIGSTY 1.7.2 u26.x86_64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~resolute_amd64.deb
| PIGSTY 1.7.2 u26.x86_64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~resolute_amd64.deb
| N/A | N/A | N/A |
| u26.aarch64 | PIGSTY 1.7.2 u26.aarch64.pg18 : postgresql-18-pg-vault-tde postgresql-18-pg-vault-tde_1.7.2-1PGSTY~resolute_arm64.deb
| PIGSTY 1.7.2 u26.aarch64.pg17 : postgresql-17-pg-vault-tde postgresql-17-pg-vault-tde_1.7.2-1PGSTY~resolute_arm64.deb
| N/A | N/A | N/A |
构建
您可以使用 pig build 命令构建 pg_vault_tde 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_vault_tde 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
预加载配置:
创建扩展:
用法
来源:
pg_vault_tde 发行版 1.7.2 通过 encrypted_heap 使用 AES-256-GCM 加密表值,支持 Vault/OpenBao、本地 PKCS#12 钱包或 PKCS#11。SQL/control 版本仍为 1.7。需要 PostgreSQL 17–18、OpenSSL 3 与 libcurl。先配置密钥提供方和认证,预加载库并重启,再由超级用户创建扩展。
核心用法
运行边界
示例假定密钥提供方已配置。pg_vault_tde_health_check、pg_vault_tde_verify_integrity、pg_vault_tde_get_rotation_status 和加密大小辅助函数提供运行状态。tde_btree 支持加密等值查询,不支持排序/范围或仅索引扫描。不支持 numeric 和非确定性排序规则的加密索引;应审计旧有唯一/排除约束,它们的检查可能无效。普通索引可能暴露键值,pg_dump/COPY 会输出解密数据。保护外部钱包/KMS,并在支持时使用匹配的加密备份工具。元组头、统计、日志和查询结果不在其保护范围内。
替换旧库或重启之前,必须按上游恢复清单检查:旧版轮换后的表可能依赖仅存于内存的密钥;并发轮换可能要求趁数据仍可读时导出,轮换过的行外值需要指定的重写步骤。1.7.0 的 TOAST 升级还另有导出要求。检查轮换/部分索引及钱包创建者。升级到 1.7.2 后,所有既有加密表需执行 VACUUM FULL 迁移元组布局,应预留维护窗口和额外磁盘空间。启用 pg_vault_tde.toast_custom_rmgr 时,WAL ID 从 128 改为 161,要求干净停机、主备协调升级、复制槽追平和新的基础备份,不能跨这两种 WAL 格式滚动升级。
密钥管理操作必须逐一执行。表轮换保留读取,但在单个事务期间阻塞写入;逻辑槽必须在重启或再次轮换前完成解码。1.7.2 收紧调用者权限,但上游仍记录 SECURITY DEFINER 包装器的限制,应遵循列出的授权/撤权步骤。不要在已有数据的加密表上切换 pg_vault_tde.enabled。本次目录更新不执行实际升级,也不改变 Pigsty 软件包基线。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)