toastinfo
显示TOAST字段的详细信息
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
toastinfo | 1.7 | STAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6530 | toastinfo | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | pg_buffercache pageinspect pagevis pg_freespacemap pg_visibility pgstattuple pgfincore pgcozy pg_prewarm |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 1.7 | 1817161514 | toastinfo | - |
| RPM | PIGSTY | 1.7 | 1817161514 | toastinfo_$v | - |
| DEB | PGDG | 1.7 | 1817161514 | postgresql-$v-toastinfo | - |
构建
您可以使用 pig build 命令构建 toastinfo 扩展的 RPM 包:
BASH
安装
您可以直接安装 toastinfo 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
来源:upstream README、upstream tags。
toastinfo 暴露 PostgreSQL 存储变长值(varlena)的方式,包括行内、压缩和行外 TOAST 存储形式。
函数
pg_toastinfo(anyelement) 描述一个 datum 的存储形式:
SQL
可能的存储形式包括:
null,表示 NULL 值。ordinary,表示非 varlena 数据类型。short inline varlena,最多 126 字节,使用 1 字节头。long inline varlena, uncompressed,最多 1 GiB,使用 4 字节头。long inline varlena, compressed (pglz|lz4)。toasted varlena, uncompressed。toasted varlena, compressed (pglz|lz4)。
在 PostgreSQL 14+ 上,压缩 varlena 会显示压缩方法。
pg_toastpointer(anyelement) 返回行外 toasted 值在 TOAST 表中的 chunk_id OID;对于非 toasted 输入返回 NULL:
SQL
存储示例
SQL
注意事项
- Pigsty 元数据记录
toastinfo1.6 覆盖 PostgreSQL 14-18,并同时有 Pigsty RPM 和 PGDG DEB。 - 上游 GitHub README 记录的是相同 SQL 表面;但评审时公开 GitHub tags 只可见到
v1.5,在该仓库中没有找到上游 1.6 changelog。 pg_toastpointer只对行外 toasted 数据有意义;普通、行内或 NULL 值都会返回 NULL。