bzip
BZIP压缩解压缩函数包
仓库
steve-chavez/pg_bzip
https://github.com/steve-chavez/pg_bzip
源码
pg_bzip-1.0.0.tar.gz
pg_bzip-1.0.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_bzip | 1.0.0 | UTIL | MIT | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4020 | bzip | 否 | 是 | 否 | 是 | 否 | 否 | - |
| 相关扩展 | gzip zstd http pg_net pg_curl pgjq pgjwt pg_smtp_client |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.0 | 1817161514 | pg_bzip | - |
| RPM | PIGSTY | 1.0.0 | 1817161514 | pg_bzip_$v | - |
| DEB | PIGSTY | 1.0.0 | 1817161514 | postgresql-$v-bzip | - |
构建
您可以使用 pig build 命令构建 pg_bzip 扩展的 RPM / DEB 包:
pig build pkg pg_bzip # 构建 RPM / DEB 包
安装
您可以直接安装 pg_bzip 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install pg_bzip; # 当前活跃 PG 版本安装
pig ext install -y pg_bzip -v 18 # PG 18
pig ext install -y pg_bzip -v 17 # PG 17
pig ext install -y pg_bzip -v 16 # PG 16
pig ext install -y pg_bzip -v 15 # PG 15
pig ext install -y pg_bzip -v 14 # PG 14
dnf install -y pg_bzip_18 # PG 18
dnf install -y pg_bzip_17 # PG 17
dnf install -y pg_bzip_16 # PG 16
dnf install -y pg_bzip_15 # PG 15
dnf install -y pg_bzip_14 # PG 14
apt install -y postgresql-18-bzip # PG 18
apt install -y postgresql-17-bzip # PG 17
apt install -y postgresql-16-bzip # PG 16
apt install -y postgresql-15-bzip # PG 15
apt install -y postgresql-14-bzip # PG 14
创建扩展:
CREATE EXTENSION bzip;
用法
函数
bzcat(data bytea) returns bytea– 解压 bzip2 数据,类似于bzcat命令。bzip2(data bytea, compression_level int default 9) returns bytea– 使用 bzip2 压缩数据。
示例
解压 bzip2 压缩的文件:
SELECT convert_from(bzcat(pg_read_binary_file('/path/to/data.csv.bz2')), 'utf8') AS contents;
使用 bzip2 压缩数据:
SELECT bzip2(repeat('my text to be compressed', 1000)::bytea) AS compressed;
使用自定义压缩级别(1-9)进行压缩:
SELECT bzip2('some data'::bytea, 5);