zstd
pg_zstd : Zstandard compression algorithm implementation in PostgreSQL
Overview
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
| --s-d-r | No | Yes | No | Yes | yes | no |
| Relationships | |
|---|---|
| See Also | gzip bzip pg_parquet pg_bulkload file_fdw aws_s3 |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.1.2 |
18 17 16 15 14 | pg_zstd |
- |
| RPM | PIGSTY | 1.1.2 |
18 17 16 15 14 | pg_zstd_$v |
- |
| DEB | PIGSTY | 1.1.2 |
18 17 16 15 14 | postgresql-$v-zstd |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| el8.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| el9.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| el9.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| el10.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| el10.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| d12.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| d12.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| d13.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| d13.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u22.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u22.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u24.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u24.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u26.x86_64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
| u26.aarch64 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 | PIGSTY 1.1.2 |
Source
github.com/grahamedgecombe/pgzstd
pgzstd-1.1.2.tar.gz
Install
Make sure PGDG and PIGSTY repo available:
Install this extension with pig:
Create this extension with:
Usage
| 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, setdictionary 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:
Compress with level (1 for best speed, 22 for best compression, default to 3)