PostgreSQL DBA(130) - Extension(pgsql-gzip)
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文简单介绍了PostgreSQL的插件:pgsql-gzip。该插件可用于对列进行加密和解密。安装clone代码,编译安装[pg12@localhost contrib]$ git clone ht
千家信息网最后更新 2026年11月02日PostgreSQL DBA(130) - Extension(pgsql-gzip)
本文简单介绍了PostgreSQL的插件:pgsql-gzip。该插件可用于对列进行加密和解密。
安装
clone代码,编译安装
[pg12@localhost contrib]$ git clone https://github.com/pramsey/pgsql-gzip.gitCloning into 'pgsql-gzip'...remote: Enumerating objects: 114, done.remote: Counting objects: 100% (114/114), done.remote: Compressing objects: 100% (71/71), done.remote: Total 114 (delta 63), reused 81 (delta 35), pack-reused 0Receiving objects: 100% (114/114), 18.56 KiB | 0 bytes/s, done.Resolving deltas: 100% (63/63), done.[pg12@localhost contrib]$ cd pgsql-gzip/[pg12@localhost pgsql-gzip]$ makegcc -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -O0 -DOPTIMIZER_DEBUG -g3 -gdwarf-2 -fPIC -I. -I./ -I/appdb/pg12/pg12.0/include/postgresql/server -I/appdb/pg12/pg12.0/include/postgresql/internal -D_GNU_SOURCE -I/usr/include/libxml2 -c -o pg_gzip.o pg_gzip.c -MMD -MP -MF .deps/pg_gzip.Pogcc -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -O0 -DOPTIMIZER_DEBUG -g3 -gdwarf-2 -fPIC -shared -o gzip.so pg_gzip.o -L/appdb/pg12/pg12.0/lib -Wl,--as-needed -Wl,-rpath,'/appdb/pg12/pg12.0/lib',--enable-new-dtags -lz [pg12@localhost pgsql-gzip]$ make install/bin/mkdir -p '/appdb/pg12/pg12.0/lib/postgresql'/bin/mkdir -p '/appdb/pg12/pg12.0/share/postgresql/extension'/bin/mkdir -p '/appdb/pg12/pg12.0/share/postgresql/extension'/bin/install -c -m 755 gzip.so '/appdb/pg12/pg12.0/lib/postgresql/gzip.so'/bin/install -c -m 644 .//gzip.control '/appdb/pg12/pg12.0/share/postgresql/extension/'/bin/install -c -m 644 .//gzip--1.0.sql '/appdb/pg12/pg12.0/share/postgresql/extension/'[pg12@localhost pgsql-gzip]$ make installcheck/appdb/pg12/pg12.0/lib/postgresql/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/appdb/pg12/pg12.0/bin' --dbname=contrib_regression gzip(using postmaster on Unix socket, default port)============== dropping database "contrib_regression" ==============DROP DATABASE============== creating database "contrib_regression" ==============CREATE DATABASEALTER DATABASE============== running regression test queries ==============test gzip ... ok 253 ms===================== All 1 tests passed. =====================[pg12@localhost pgsql-gzip]$体验
创建扩展
[local]:5432 pg12@testdb=# create extension gzippg12@testdb-# ;CREATE EXTENSION[local]:5432 pg12@testdb=#主要的函数包括gzip和gunzip
[local]:5432 pg12@testdb=# \df gzip List of functions Schema | Name | Result data type | Argument data types | Type --------+------+------------------+---------------------------------------------------------------------+------ public | gzip | bytea | uncompressed bytea, compression_level integer DEFAULT '-1'::integer | func public | gzip | bytea | uncompressed text, compression_level integer DEFAULT '-1'::integer | func(2 rows)[local]:5432 pg12@testdb=# \df gunzip List of functions Schema | Name | Result data type | Argument data types | Type --------+--------+------------------+---------------------+------ public | gunzip | bytea | compressed bytea | func(1 row)压缩/解压
[local]:5432 pg12@testdb=# select gzip('测试数据123测试'); gzip ---------------------------------------------------------------------------------- \x1f8b08000000000000037bb6b5fbc5faa9cfa66e78d6bbced0c8f819980b00299ee5af15000000(1 row)[local]:5432 pg12@testdb=# select gunzip('\x1f8b08000000000000037bb6b5fbc5faa9cfa66e78d6bbced0c8f819980b00299ee5af15000000'::bytea); gunzip ---------------------------------------------- \xe6b58be8af95e695b0e68dae313233e6b58be8af95(1 row)[local]:5432 pg12@testdb=# select gunzip(gzip('测试数据123测试')); gunzip ---------------------------------------------- \xe6b58be8af95e695b0e68dae313233e6b58be8af95(1 row)[local]:5432 pg12@testdb=# [local]:5432 pg12@testdb=# select '测试数据123测试'::bytea; bytea ---------------------------------------------- \xe6b58be8af95e695b0e68dae313233e6b58be8af95(1 row)[local]:5432 pg12@testdb=#通过pgsql-gzip可实现非透明的压缩和解压。
参考资料
pgsql-gzip
GZip in PostgreSQL
测试
数据
插件
代码
函数
参考资料
资料
体验
加密
参考
编译
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
广州紫鲸互联网科技有限公司
中国互联网科技工作委员会毛军
互联网科技垄断
深圳互联网络科技有限公司
世界互联网领先科技成果
华中科技大学互联网
上海喔噻互联网科技
无线互联网科技
互联网科技ppt模板
菲比寻常互联网科技
互联网汽车科技小镇
恒银科技与互联网金融
以后互联网后是啥科技
彤创互联网科技有限公司
互联网科技与大数据专业
互联网公司黑科技创始人
四川慕妮娅互联网科技有限公司
互联网科技大赛获奖感言
互联网科技如何创业
互联网科技公司起名
高科技互联网
互联网电商科技
华宇互联网科技
致骋互联网科技
哈尔滨秒房互联网科技有限公司
须眉科技是互联网公司吗
彤创互联网科技有限公司
全球科技与互联网公司市值变化
亚光科技低轨卫星互联网