zstd
Module:
Categories:
扩展总览
PIGSTY 第三方扩展: pg_zstd
: ZSTD压缩解压缩函数包
基本信息
- 扩展编号: 4030
- 扩展名称:
zstd
- 标准包名:
pg_zstd
- 扩展类目:
UTIL
- 开源协议: ISC
- 官方网站: https://github.com/grahamedgecombe/pgzstd
- 编程语言: C
- 其他标签: 无
- 备注信息:
元数据
- 默认版本: 1.1.2
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL - 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_zstd_$v*
- RPM版本:
1.1.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-zstd
- DEB版本:
1.1.2
- DEB依赖:无
最新版本
系统 | 架构 | PG17 | PG16 | PG15 | PG14 | PG13 |
---|---|---|---|---|---|---|
el8 |
x86_64 |
pg_zstd_17 PIGSTY 1.1.2 |
pg_zstd_16 PIGSTY 1.1.2 |
pg_zstd_15 PIGSTY 1.1.2 |
pg_zstd_14 PIGSTY 1.1.2 |
pg_zstd_13 PIGSTY 1.1.2 |
el8 |
aarch64 |
pg_zstd_17 PIGSTY 1.1.2 |
pg_zstd_16 PIGSTY 1.1.2 |
pg_zstd_15 PIGSTY 1.1.2 |
pg_zstd_14 PIGSTY 1.1.2 |
pg_zstd_13 PIGSTY 1.1.2 |
el9 |
x86_64 |
pg_zstd_17 PIGSTY 1.1.2 |
pg_zstd_16 PIGSTY 1.1.2 |
pg_zstd_15 PIGSTY 1.1.2 |
pg_zstd_14 PIGSTY 1.1.2 |
pg_zstd_13 PIGSTY 1.1.2 |
el9 |
aarch64 |
pg_zstd_17 PIGSTY 1.1.2 |
pg_zstd_16 PIGSTY 1.1.2 |
pg_zstd_15 PIGSTY 1.1.2 |
pg_zstd_14 PIGSTY 1.1.2 |
pg_zstd_13 PIGSTY 1.1.2 |
d12 |
x86_64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
d12 |
aarch64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
u22 |
x86_64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
u22 |
aarch64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
u24 |
x86_64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
u24 |
aarch64 |
postgresql-17-zstd PIGSTY 1.1.2 |
postgresql-16-zstd PIGSTY 1.1.2 |
postgresql-15-zstd PIGSTY 1.1.2 |
postgresql-14-zstd PIGSTY 1.1.2 |
postgresql-13-zstd PIGSTY 1.1.2 |
扩展安装
使用 pig
命令行工具安装 pg_zstd
扩展:
pig ext install pg_zstd; # 扩展名称
pig ext install zstd; # 标准包名
使用 Pigsty剧本 安装 pg_zstd 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_zstd"]}' # -l <集群名>
dnf install pg_zstd_17*;
dnf install pg_zstd_16*;
dnf install pg_zstd_15*;
dnf install pg_zstd_14*;
dnf install pg_zstd_13*;
apt install postgresql-17-zstd;
apt install postgresql-16-zstd;
apt install postgresql-15-zstd;
apt install postgresql-14-zstd;
apt install postgresql-13-zstd;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 zstd
扩展:
CREATE EXTENSION zstd;
使用方法
Function | Return Type |
---|---|
zstd_compress(data bytea [, dictionary bytea [, level integer ]]) |
bytea |
zstd_decompress(data bytea [, dictionary bytea ]) |
bytea |
zstd_length(data bytea) |
integer |
zstd_compress
compresses the provided data
and returns a Zstandard frame. A
preset dictionary
may also be provided. The default compression level
may
also be overriden, valid values range from 1
(best speed) to 22
(best
compression). The default level is 3
.
If you want to override the compression level without using a dictionary, set
dictionary
to NULL
.
zstd_decompress
decompresses the provided Zstandard frame in data
and
returns the uncompressed data. A preset dictionary
, matching the dictionary
used to compress the data, may also be provided.
zstd_length
returns the decompressed length of the provided Zstandard frame.
If ZSTD_getFrameContentSize()
is available it returns NULL
if the length is
unknown. If unavailable, it isn’t possible to distinguish the error, unknown
decompressed length and zero decompressed length cases.
Example
Basic compress/decompress example:
CREATE EXTENSION zstd;
SELECT zstd_compress('hello world');
-- zstd_compress
-- --------------------------------------------
-- \x28b52ffd200b59000068656c6c6f20776f726c64
SELECT convert_from(zstd_decompress('\x28b52ffd200b59000068656c6c6f20776f726c64'), 'utf-8');
-- convert_from
-- --------------
-- hello world
Compress with level (1
for best speed, 22
for best compression, default to 3
)
CREATE EXTENSION zstd;
SELECT zstd_compress('hello world', NULL, 10);
-- zstd_compress
-- --------------------------------------------
-- \x28b52ffd200b59000068656c6c6f20776f726c64
SELECT convert_from(zstd_decompress('\x28b52ffd200b59000068656c6c6f20776f726c64'), 'utf-8');
-- convert_from
-- --------------
-- hello world