这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
类目:UTIL
实用功能扩展:HTTP请求,GZIP压缩,JWT处理,邮件客户端,正则,字符编码,编码解码,加密解密等实用功能
1 - gzip
使用SQL执行Gzip压缩与解压缩
扩展总览
MIXED 第三方扩展: pg_gzip
: 使用SQL执行Gzip压缩与解压缩
基本信息
元数据
- 默认版本: 1.0.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pgsql_gzip_$v*
- RPM版本:
1.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-gzip
- DEB版本:
1.0.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_gzip
扩展:
pig ext install pg_gzip; # 扩展名称
pig ext install gzip; # 标准包名
使用 Pigsty剧本 安装 pg_gzip 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_gzip"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_gzip
RPM 包:
dnf install pgsql_gzip_17*;
dnf install pgsql_gzip_16*;
dnf install pgsql_gzip_15*;
dnf install pgsql_gzip_14*;
dnf install pgsql_gzip_13*;
从 APT仓库 手工安装 pg_gzip
DEB 包:
apt install postgresql-17-gzip;
apt install postgresql-16-gzip;
apt install postgresql-15-gzip;
apt install postgresql-14-gzip;
apt install postgresql-13-gzip;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 gzip
扩展:
使用方法
Sometimes you just need to compress your bytea
object before you return it to the client.
Sometimes you receive a compressed bytea
from the client, and you have to uncompress it before you can work with it.
This extension is for that.
This extension is not for storage compression. PostgreSQL already does tuple compression on the fly if your tuple gets large enough, manually pre-compressing your data using this function won’t make things smaller.
gzip(uncompressed BYTEA, [compression_level INTEGER])
returns BYTEA
gzip(uncompressed TEXT, [compression_level INTEGER])
returns BYTEA
gunzip(compressed BYTEA)
returns BYTEA
Examples
> SELECT gzip('this is my this is my this is my this is my text');
gzip
--------------------------------------------------------------------------
\x1f8b08000000000000132bc9c82c5600a2dc4a851282ccd48a12002e7a22ff30000000
Wait, what, the compressed output is longer?!? No, it only looks that way, because in hex every byte is represented with two hex digits. The original string looks like this in hex:
> SELECT 'this is my this is my this is my this is my text'::bytea;
bytea
----------------------------------------------------------------------------------------------------
\x74686973206973206d792074686973206973206d792074686973206973206d792074686973206973206d792074657874
For really long, repetitive things, compression naturally works like a charm:
> SELECT gzip(repeat('this is my ', 100));
bytea
----------------------------------------------------------------------------------------------------
\x1f8b08000000000000132bc9c82c5600a2dc4a859251e628739439ca24970900d1341c5c4c040000
To convert a bytea
back into an equivalent text
you must use the encode()
function with the escape
encoding.
> SELECT encode('test text'::bytea, 'escape');
encode
-----------
test text
> SELECT encode(gunzip(gzip('this text has been compressed and then decompressed')), 'escape')
encode
-----------------------------------------------------
this text has been compressed and then decompressed
2 - bzip
BZIP压缩解压缩函数包
扩展总览
PIGSTY 第三方扩展: pg_bzip
: BZIP压缩解压缩函数包
基本信息
元数据
- 默认版本: 1.0.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_bzip_$v*
- RPM版本:
1.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-bzip
- DEB版本:
1.0.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_bzip
扩展:
pig ext install pg_bzip; # 扩展名称
pig ext install bzip; # 标准包名
使用 Pigsty剧本 安装 pg_bzip 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_bzip"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_bzip
RPM 包:
dnf install pg_bzip_17*;
dnf install pg_bzip_16*;
dnf install pg_bzip_15*;
dnf install pg_bzip_14*;
dnf install pg_bzip_13*;
从 APT仓库 手工安装 pg_bzip
DEB 包:
apt install postgresql-17-bzip;
apt install postgresql-16-bzip;
apt install postgresql-15-bzip;
apt install postgresql-14-bzip;
apt install postgresql-13-bzip;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 bzip
扩展:
3 - zstd
ZSTD压缩解压缩函数包
扩展总览
PIGSTY 第三方扩展: pg_zstd
: ZSTD压缩解压缩函数包
基本信息
元数据
- 默认版本: 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依赖:无
最新版本
扩展安装
使用 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 <集群名>
从 YUM仓库 手工安装 pg_zstd
RPM 包:
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仓库 手工安装 pg_zstd
DEB 包:
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
扩展:
使用方法
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
4 - http
HTTP客户端,允许在数据库内收发HTTP请求 (supabase)
扩展总览
PGDG 第一方扩展: pg_http
: HTTP客户端,允许在数据库内收发HTTP请求 (supabase)
基本信息
元数据
- 默认版本: 1.6.3
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 未知
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pgsql_http_$v*
- RPM版本:
1.6.3
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-http
- DEB版本:
1.6.3
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_http
扩展:
pig ext install pg_http; # 扩展名称
pig ext install http; # 标准包名
使用 Pigsty剧本 安装 pg_http 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_http"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_http
RPM 包:
dnf install pgsql_http_17*;
dnf install pgsql_http_16*;
dnf install pgsql_http_15*;
dnf install pgsql_http_14*;
dnf install pgsql_http_13*;
从 APT仓库 手工安装 pg_http
DEB 包:
apt install postgresql-17-http;
apt install postgresql-16-http;
apt install postgresql-15-http;
apt install postgresql-14-http;
apt install postgresql-13-http;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 http
扩展:
使用方法
https://github.com/pramsey/pgsql-http
请求与响应的模式:
Composite type "public.http_request"
Column | Type | Modifiers
--------------+-------------------+-----------
method | http_method |
uri | character varying |
headers | http_header[] |
content_type | character varying |
content | character varying |
Composite type "public.http_response"
Column | Type | Modifiers
--------------+-------------------+-----------
status | integer |
content_type | character varying |
headers | http_header[] |
content | character varying |
例子
Sending HTTP GET requests with SQL
CREATE EXTENSION http;
-- get content
SELECT content FROM http_get('http://httpbun.com/');
-- get status and content_type
SELECT status, content_type FROM http_get('http://httpbun.com/');
-- status | content_type
-- --------+--------------------------
-- 200 | text/html; charset=utf-8
-- get headers
SELECT (unnest(headers)).* FROM http_get('http://httpbun.com/');
-- field | value
-- ---------------------------+--------------------------------------------------
-- Location | https://httpbun.com/
-- Date | Mon, 04 Nov 2024 09:00:36 GMT
-- Content-Length | 0
-- Connection | close
-- alt-svc | h3=":443"; ma=2592000
-- content-security-policy | frame-ancestors 'none'
-- content-type | text/html
-- date | Mon, 04 Nov 2024 09:00:37 GMT
-- strict-transport-security | max-age=31536000; includeSubDomains; preload
-- x-content-type-options | nosniff
-- x-powered-by | httpbun/af040d24038613575a85f74c2283ae79f8169927
-- (11 rows)
SELECT status, content::json->'form' AS form FROM http_post('http://httpbun.com/post', jsonb_build_object('myvar','myval','foo','bar'));
Issue http put requests:
SELECT status, content_type, content::json->>'data' AS data
FROM http_put('http://httpbun.com/put', 'some text', 'text/plain');
-- status | content_type | data
-- --------+------------------+-----------
-- 200 | application/json | some text
Issue http post request:
5 - pg_net
用 SQL 进行异步非阻塞HTTP/HTTPS 请求的扩展 (supabase)
扩展总览
PIGSTY 第三方扩展: pg_net
: 用 SQL 进行异步非阻塞HTTP/HTTPS 请求的扩展 (supabase)
基本信息
元数据
- 默认版本: 0.9.2
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_net_$v*
- RPM版本:
0.9.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-net
- DEB版本:
0.9.2
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_net
扩展:
使用 Pigsty剧本 安装 pg_net 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_net"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_net
RPM 包:
dnf install pg_net_17*;
dnf install pg_net_16*;
dnf install pg_net_15*;
dnf install pg_net_14*;
dnf install pg_net_13*;
从 APT仓库 手工安装 pg_net
DEB 包:
apt install postgresql-17-pg-net;
apt install postgresql-16-pg-net;
apt install postgresql-15-pg-net;
apt install postgresql-14-pg-net;
apt install postgresql-13-pg-net;
扩展 pg_net
需要通过 shared_preload_libraries
进行 动态加载:
shared_preload_libraries = 'pg_net'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_net
扩展:
6 - pg_curl
封装CURL,执行各种用URL传输数据的操作
扩展总览
PIGSTY 第三方扩展: pg_curl
: 封装CURL,执行各种用URL传输数据的操作
基本信息
元数据
- 默认版本: 2.4
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_curl_$v*
- RPM版本:
2.4
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-curl
- DEB版本:
2.4
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_curl
扩展:
使用 Pigsty剧本 安装 pg_curl 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_curl"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_curl
RPM 包:
dnf install pg_curl_17*;
dnf install pg_curl_16*;
dnf install pg_curl_15*;
dnf install pg_curl_14*;
dnf install pg_curl_13*;
从 APT仓库 手工安装 pg_curl
DEB 包:
apt install postgresql-17-pg-curl;
apt install postgresql-16-pg-curl;
apt install postgresql-15-pg-curl;
apt install postgresql-14-pg-curl;
apt install postgresql-13-pg-curl;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_curl
扩展:
CREATE EXTENSION pg_curl;
使用方法
CREATE EXTENSION pg_curl;
Perform HTTP Get:
-- wrap curl http get
CREATE OR REPLACE FUNCTION get(url TEXT) RETURNS TEXT LANGUAGE SQL AS $BODY$
WITH s AS (SELECT
curl_easy_reset(),
curl_easy_setopt_url(url),
curl_easy_perform(),
curl_easy_getinfo_data_in()
) SELECT convert_from(curl_easy_getinfo_data_in, 'utf-8') FROM s;
$BODY$;
SELECT get('https://www.postgresql.org/');
Perform Email SMTP:
CREATE OR REPLACE FUNCTION email(url TEXT, username TEXT, password TEXT, subject TEXT, sender TEXT, recipient TEXT, body TEXT, type TEXT) RETURNS TEXT LANGUAGE SQL AS $BODY$
WITH s AS (SELECT
curl_easy_reset(),
curl_easy_setopt_mail_from(sender),
curl_easy_setopt_password(password),
curl_easy_setopt_url(url),
curl_easy_setopt_username(username),
curl_header_append('From', sender),
curl_header_append('Subject', subject),
curl_header_append('To', recipient),
curl_mime_data(body, type:=type),
curl_recipient_append(recipient),
curl_easy_perform(),
curl_easy_getinfo_header_in()
) SELECT curl_easy_getinfo_header_in FROM s;
$BODY$;
Perform FTP download:
CREATE OR REPLACE FUNCTION download(url TEXT, username TEXT, password TEXT) RETURNS BYTEA LANGUAGE SQL AS $BODY$
WITH s AS (SELECT
curl_easy_reset(),
curl_easy_setopt_password(password),
curl_easy_setopt_url(url),
curl_easy_setopt_username(username),
curl_easy_perform(),
curl_easy_getinfo_data_in()
) SELECT curl_easy_getinfo_data_in FROM s;
$BODY$;
7 - pgjq
在Postgres中使用jq查询JSON
扩展总览
PIGSTY 第三方扩展: pgjq
: 在Postgres中使用jq查询JSON
基本信息
元数据
- 默认版本: 0.1.0
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pgjq_$v*
- RPM版本:
0.1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pgjq
- DEB版本:
0.1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgjq
扩展:
使用 Pigsty剧本 安装 pgjq 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgjq"]}' # -l <集群名>
从 YUM仓库 手工安装 pgjq
RPM 包:
dnf install pgjq_17*;
dnf install pgjq_16*;
dnf install pgjq_15*;
dnf install pgjq_14*;
从 APT仓库 手工安装 pgjq
DEB 包:
apt install postgresql-17-pgjq;
apt install postgresql-16-pgjq;
apt install postgresql-15-pgjq;
apt install postgresql-14-pgjq;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pgjq
扩展:
8 - pgjwt
JSON Web Token API 的PG实现 (supabase)
扩展总览
PIGSTY 第三方扩展: pgjwt
: JSON Web Token API 的PG实现 (supabase)
基本信息
元数据
- 默认版本: 0.2.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 未知
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pgjwt_$v
- RPM版本:
0.2.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pgjwt
- DEB版本:
0.2.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgjwt
扩展:
使用 Pigsty剧本 安装 pgjwt 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgjwt"]}' # -l <集群名>
从 YUM仓库 手工安装 pgjwt
RPM 包:
dnf install pgjwt_17;
dnf install pgjwt_16;
dnf install pgjwt_15;
dnf install pgjwt_14;
dnf install pgjwt_13;
从 APT仓库 手工安装 pgjwt
DEB 包:
apt install postgresql-17-pgjwt;
apt install postgresql-16-pgjwt;
apt install postgresql-15-pgjwt;
apt install postgresql-14-pgjwt;
apt install postgresql-13-pgjwt;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pgjwt
扩展:
9 - pg_smtp_client
使用SMTP从PostgreSQL内发送邮件的客户端扩展
扩展总览
PIGSTY 第三方扩展: pg_smtp_client
: 使用SMTP从PostgreSQL内发送邮件的客户端扩展
基本信息
元数据
- 默认版本: 0.2.0
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式:
smtp_client
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_smtp_client_$v
- RPM版本:
0.2.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-smtp-client
- DEB版本:
0.2.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_smtp_client
扩展:
pig ext install pg_smtp_client
使用 Pigsty剧本 安装 pg_smtp_client 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_smtp_client"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_smtp_client
RPM 包:
dnf install pg_smtp_client_17;
dnf install pg_smtp_client_16;
dnf install pg_smtp_client_15;
dnf install pg_smtp_client_14;
从 APT仓库 手工安装 pg_smtp_client
DEB 包:
apt install postgresql-17-pg-smtp-client;
apt install postgresql-16-pg-smtp-client;
apt install postgresql-15-pg-smtp-client;
apt install postgresql-14-pg-smtp-client;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_smtp_client
扩展:
CREATE EXTENSION pg_smtp_client;
使用方法
https://github.com/frectonz/pglite-fusion/blob/main/README.md
Enabling the extension
Connect to postgres and run the following command.
CREATE EXTENSION IF NOT EXISTS pg_smtp_client CASCADE;
使用方法
Use the smtp_client.send_email()
function to send an email.
Function Parameters
Parameter |
Type |
Description |
System Configuration (Optional) |
subject |
text |
The subject of the email |
|
body |
text |
The body of the email |
|
html |
boolean |
Whether the body is HTML (true) or plain text (false) |
|
from_address |
text |
The from email address |
smtp_client.from_address |
recipients |
text[] |
The email addresses of the recipients |
|
ccs |
text[] |
The email addresses to CCs |
|
bccs |
text[] |
The email addresses to BCCs |
|
smtp_server |
text |
The SMTP server to use |
smtp_client.server |
smtp_port |
integer |
The port of the SMTP server |
smtp_client.port |
smtp_tls |
boolean |
Whether to use TLS |
smtp_client.tls |
smtp_username |
text |
The username for the SMTP server |
smtp_client.username |
smtp_password |
text |
The password for the SMTP server |
smtp_client.password |
Default Configuration
You can configure the following system-wide default values for some of the parameters (as indiciated in the table above) like this:
ALTER SYSTEM SET smtp_client.server TO 'smtp.example.com';
ALTER SYSTEM SET smtp_client.port TO 587;
ALTER SYSTEM SET smtp_client.tls TO true;
ALTER SYSTEM SET smtp_client.username TO 'MySmtpUsername';
ALTER SYSTEM SET smtp_client.password TO 'MySmtpPassword';
ALTER SYSTEM SET smtp_client.from_address TO 'from@example.com';
SELECT pg_reload_conf();
示例
Send an email:
SELECT smtp_client.send_email('test subject', 'test body', false, 'from@example.com', array['to@example.com'], null, null, 'smtp.example.com', 587, true, 'username', 'password');
Send an email using configured default values:
SELECT smtp_client.send_email('test subject', 'test body', false, null, array['to@example.com']);
Or, using named arguments:
SELECT smtp_client.send_email('test subject', 'test body', recipients => array['to@example.com']);
10 - pg_html5_email_address
验证Email是否符合HTML5规范的扩展
扩展总览
PIGSTY 第三方扩展: pg_html5_email_address
: 验证Email是否符合HTML5规范的扩展
基本信息
元数据
- 默认版本: 1.2.3
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_html5_email_address_$v
- RPM版本:
1.2.3
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-html5-email-address
- DEB版本:
1.2.3
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_html5_email_address
扩展:
pig ext install pg_html5_email_address
使用 Pigsty剧本 安装 pg_html5_email_address 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_html5_email_address"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_html5_email_address
RPM 包:
dnf install pg_html5_email_address_17;
dnf install pg_html5_email_address_16;
dnf install pg_html5_email_address_15;
dnf install pg_html5_email_address_14;
dnf install pg_html5_email_address_13;
从 APT仓库 手工安装 pg_html5_email_address
DEB 包:
apt install postgresql-17-pg-html5-email-address;
apt install postgresql-16-pg-html5-email-address;
apt install postgresql-15-pg-html5-email-address;
apt install postgresql-14-pg-html5-email-address;
apt install postgresql-13-pg-html5-email-address;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_html5_email_address
扩展:
CREATE EXTENSION pg_html5_email_address;
11 - url_encode
提供URL编码解码函数
扩展总览
PIGSTY 第三方扩展: url_encode
: 提供URL编码解码函数
基本信息
元数据
- 默认版本: 1.2.5
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
url_encode_$v*
- RPM版本:
1.2.5
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-url-encode
- DEB版本:
1.2.5
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 url_encode
扩展:
pig ext install url_encode
使用 Pigsty剧本 安装 url_encode 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["url_encode"]}' # -l <集群名>
从 YUM仓库 手工安装 url_encode
RPM 包:
dnf install url_encode_17*;
dnf install url_encode_16*;
dnf install url_encode_15*;
dnf install url_encode_14*;
dnf install url_encode_13*;
从 APT仓库 手工安装 url_encode
DEB 包:
apt install postgresql-17-url-encode;
apt install postgresql-16-url-encode;
apt install postgresql-15-url-encode;
apt install postgresql-14-url-encode;
apt install postgresql-13-url-encode;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 url_encode
扩展:
CREATE EXTENSION url_encode;
12 - pgsql_tweaks
一些日常会用到的便利函数与视图
扩展总览
MIXED 第三方扩展: pgsql_tweaks
: 一些日常会用到的便利函数与视图
基本信息
元数据
- 默认版本: 0.11.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pgsql_tweaks_$v
- RPM版本:
0.11.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pgsql-tweaks
- DEB版本:
0.11.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgsql_tweaks
扩展:
pig ext install pgsql_tweaks
使用 Pigsty剧本 安装 pgsql_tweaks 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgsql_tweaks"]}' # -l <集群名>
从 YUM仓库 手工安装 pgsql_tweaks
RPM 包:
dnf install pgsql_tweaks_17;
dnf install pgsql_tweaks_16;
dnf install pgsql_tweaks_15;
dnf install pgsql_tweaks_14;
dnf install pgsql_tweaks_13;
从 APT仓库 手工安装 pgsql_tweaks
DEB 包:
apt install postgresql-17-pgsql-tweaks;
apt install postgresql-16-pgsql-tweaks;
apt install postgresql-15-pgsql-tweaks;
apt install postgresql-14-pgsql-tweaks;
apt install postgresql-13-pgsql-tweaks;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pgsql_tweaks
扩展:
CREATE EXTENSION pgsql_tweaks;
13 - pg_extra_time
一些关于日期与时间的扩展函数
扩展总览
MIXED 第三方扩展: pg_extra_time
: 一些关于日期与时间的扩展函数
基本信息
元数据
- 默认版本: 2.0.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_extra_time_$v
- RPM版本:
2.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-extra-time
- DEB版本:
2.0.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_extra_time
扩展:
pig ext install pg_extra_time
使用 Pigsty剧本 安装 pg_extra_time 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_extra_time"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_extra_time
RPM 包:
dnf install pg_extra_time_17;
dnf install pg_extra_time_16;
dnf install pg_extra_time_15;
dnf install pg_extra_time_14;
dnf install pg_extra_time_13;
从 APT仓库 手工安装 pg_extra_time
DEB 包:
apt install postgresql-17-pg-extra-time;
apt install postgresql-16-pg-extra-time;
apt install postgresql-15-pg-extra-time;
apt install postgresql-14-pg-extra-time;
apt install postgresql-13-pg-extra-time;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_extra_time
扩展:
CREATE EXTENSION pg_extra_time;
14 - pgpcre
PCRE/Perl风格的正则表达式支持
扩展总览
MIXED 第三方扩展: pgpcre
: PCRE/Perl风格的正则表达式支持
基本信息
元数据
- 默认版本: 1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pgpcre_$v
- RPM版本:
1
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-pgpcre
- DEB版本:
1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgpcre
扩展:
使用 Pigsty剧本 安装 pgpcre 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgpcre"]}' # -l <集群名>
从 YUM仓库 手工安装 pgpcre
RPM 包:
dnf install pgpcre_17;
dnf install pgpcre_16;
dnf install pgpcre_15;
dnf install pgpcre_14;
dnf install pgpcre_13;
从 APT仓库 手工安装 pgpcre
DEB 包:
apt install postgresql-17-pgpcre;
apt install postgresql-16-pgpcre;
apt install postgresql-15-pgpcre;
apt install postgresql-14-pgpcre;
apt install postgresql-13-pgpcre;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pgpcre
扩展:
15 - icu_ext
访问ICU库提供的函数
扩展总览
MIXED 第三方扩展: icu_ext
: 访问ICU库提供的函数
基本信息
元数据
- 默认版本: 1.9.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
icu_ext_$v*
- RPM版本:
1.9.0
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-icu-ext
- DEB版本:
1.9.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 icu_ext
扩展:
使用 Pigsty剧本 安装 icu_ext 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["icu_ext"]}' # -l <集群名>
从 YUM仓库 手工安装 icu_ext
RPM 包:
dnf install icu_ext_17*;
dnf install icu_ext_16*;
dnf install icu_ext_15*;
dnf install icu_ext_14*;
dnf install icu_ext_13*;
从 APT仓库 手工安装 icu_ext
DEB 包:
apt install postgresql-17-icu-ext;
apt install postgresql-16-icu-ext;
apt install postgresql-15-icu-ext;
apt install postgresql-14-icu-ext;
apt install postgresql-13-icu-ext;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 icu_ext
扩展:
CREATE EXTENSION icu_ext;
16 - pgqr
从数据库中直接生成QR二维码
扩展总览
PIGSTY 第三方扩展: pgqr
: 从数据库中直接生成QR二维码
基本信息
元数据
- 默认版本: 1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pgqr_$v*
- RPM版本:
1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pgqr
- DEB版本:
1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgqr
扩展:
使用 Pigsty剧本 安装 pgqr 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgqr"]}' # -l <集群名>
从 YUM仓库 手工安装 pgqr
RPM 包:
dnf install pgqr_17*;
dnf install pgqr_16*;
dnf install pgqr_15*;
dnf install pgqr_14*;
dnf install pgqr_13*;
从 APT仓库 手工安装 pgqr
DEB 包:
apt install postgresql-17-pgqr;
apt install postgresql-16-pgqr;
apt install postgresql-15-pgqr;
apt install postgresql-14-pgqr;
apt install postgresql-13-pgqr;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pgqr
扩展:
17 - pg_protobuf
提供Protobuf函数支持
扩展总览
PIGSTY 第三方扩展: pg_protobuf
: 提供Protobuf函数支持
基本信息
元数据
- 默认版本: 1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_protobuf_$v
- RPM版本:
1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-protobuf
- DEB版本:
1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_protobuf
扩展:
pig ext install pg_protobuf
使用 Pigsty剧本 安装 pg_protobuf 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_protobuf"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_protobuf
RPM 包:
dnf install pg_protobuf_17;
dnf install pg_protobuf_16;
dnf install pg_protobuf_15;
dnf install pg_protobuf_14;
dnf install pg_protobuf_13;
从 APT仓库 手工安装 pg_protobuf
DEB 包:
apt install postgresql-17-pg-protobuf;
apt install postgresql-16-pg-protobuf;
apt install postgresql-15-pg-protobuf;
apt install postgresql-14-pg-protobuf;
apt install postgresql-13-pg-protobuf;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_protobuf
扩展:
CREATE EXTENSION pg_protobuf;
18 - envvar
获取环境变量的函数
扩展总览
PIGSTY 第三方扩展: envvar
: 获取环境变量的函数
基本信息
元数据
- 默认版本: 1.0.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 未知
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_envvar_$v*
- RPM版本:
1.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-envvar
- DEB版本:
1.0.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 envvar
扩展:
使用 Pigsty剧本 安装 envvar 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["envvar"]}' # -l <集群名>
从 YUM仓库 手工安装 envvar
RPM 包:
dnf install pg_envvar_17*;
dnf install pg_envvar_16*;
dnf install pg_envvar_15*;
dnf install pg_envvar_14*;
dnf install pg_envvar_13*;
从 APT仓库 手工安装 envvar
DEB 包:
apt install postgresql-17-pg-envvar;
apt install postgresql-16-pg-envvar;
apt install postgresql-15-pg-envvar;
apt install postgresql-14-pg-envvar;
apt install postgresql-13-pg-envvar;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 envvar
扩展:
19 - floatfile
将浮点数组存储到文件中而不是堆表中
扩展总览
PIGSTY 第三方扩展: floatfile
: 将浮点数组存储到文件中而不是堆表中
基本信息
元数据
- 默认版本: 1.3.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
floatfile_$v*
- RPM版本:
1.3.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-floatfile
- DEB版本:
1.3.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 floatfile
扩展:
pig ext install floatfile
使用 Pigsty剧本 安装 floatfile 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["floatfile"]}' # -l <集群名>
从 YUM仓库 手工安装 floatfile
RPM 包:
dnf install floatfile_17*;
dnf install floatfile_16*;
dnf install floatfile_15*;
dnf install floatfile_14*;
dnf install floatfile_13*;
从 APT仓库 手工安装 floatfile
DEB 包:
apt install postgresql-17-floatfile;
apt install postgresql-16-floatfile;
apt install postgresql-15-floatfile;
apt install postgresql-14-floatfile;
apt install postgresql-13-floatfile;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 floatfile
扩展:
CREATE EXTENSION floatfile;
20 - pg_readme
为模式与扩展生成Markdown文档
扩展总览
MIXED 第三方扩展: pg_readme
: 为模式与扩展生成Markdown文档
基本信息
元数据
- 默认版本: 0.7.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展:
hstore
软件包
- RPM仓库:PGDG
- RPM包名:
pg_readme_$v
- RPM版本:
0.7.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-readme
- DEB版本:
0.7.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_readme
扩展:
pig ext install pg_readme
使用 Pigsty剧本 安装 pg_readme 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_readme"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_readme
RPM 包:
dnf install pg_readme_17;
dnf install pg_readme_16;
dnf install pg_readme_15;
dnf install pg_readme_14;
dnf install pg_readme_13;
从 APT仓库 手工安装 pg_readme
DEB 包:
apt install postgresql-17-pg-readme;
apt install postgresql-16-pg-readme;
apt install postgresql-15-pg-readme;
apt install postgresql-14-pg-readme;
apt install postgresql-13-pg-readme;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_readme
扩展:
CREATE EXTENSION pg_readme CASCADE;
21 - ddl_historization
用SQL将所有DDL变更写入到数据库表中
扩展总览
PIGSTY 第三方扩展: ddl_historization
: 用SQL将所有DDL变更写入到数据库表中
基本信息
元数据
- 默认版本: 0.0.7
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展:
plpgsql
软件包
- RPM仓库:PIGSTY
- RPM包名:
ddl_historization_$v
- RPM版本:
0.0.7
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-ddl-historization
- DEB版本:
0.0.7
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 ddl_historization
扩展:
pig ext install ddl_historization
使用 Pigsty剧本 安装 ddl_historization 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["ddl_historization"]}' # -l <集群名>
从 YUM仓库 手工安装 ddl_historization
RPM 包:
dnf install ddl_historization_17;
dnf install ddl_historization_16;
dnf install ddl_historization_15;
dnf install ddl_historization_14;
dnf install ddl_historization_13;
从 APT仓库 手工安装 ddl_historization
DEB 包:
apt install postgresql-17-ddl-historization;
apt install postgresql-16-ddl-historization;
apt install postgresql-15-ddl-historization;
apt install postgresql-14-ddl-historization;
apt install postgresql-13-ddl-historization;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 ddl_historization
扩展:
CREATE EXTENSION ddl_historization CASCADE;
22 - data_historization
用SQL将数据变更历史保存到分区表中
扩展总览
PIGSTY 第三方扩展: data_historization
: 用SQL将数据变更历史保存到分区表中
基本信息
元数据
- 默认版本: 1.1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展:
plpgsql
软件包
- RPM仓库:PIGSTY
- RPM包名:
data_historization_$v
- RPM版本:
1.1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-data-historization
- DEB版本:
1.1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 data_historization
扩展:
pig ext install data_historization
使用 Pigsty剧本 安装 data_historization 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["data_historization"]}' # -l <集群名>
从 YUM仓库 手工安装 data_historization
RPM 包:
dnf install data_historization_17;
dnf install data_historization_16;
dnf install data_historization_15;
dnf install data_historization_14;
dnf install data_historization_13;
从 APT仓库 手工安装 data_historization
DEB 包:
apt install postgresql-17-data-historization;
apt install postgresql-16-data-historization;
apt install postgresql-15-data-historization;
apt install postgresql-14-data-historization;
apt install postgresql-13-data-historization;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 data_historization
扩展:
CREATE EXTENSION data_historization CASCADE;
23 - schedoc
在Django与DBT之间通过注释文档交换元数据
扩展总览
PIGSTY 第三方扩展: pg_schedoc
: 在Django与DBT之间通过注释文档交换元数据
基本信息
元数据
- 默认版本: 0.0.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展:
ddl_historization
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_schedoc_$v
- RPM版本:
0.0.1
- RPM依赖:
ddl_historization_$v
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-schedoc
- DEB版本:
0.0.1
- DEB依赖:
postgresql-$v-ddl-historization
最新版本
扩展安装
使用 pig
命令行工具安装 pg_schedoc
扩展:
pig ext install pg_schedoc; # 扩展名称
pig ext install schedoc; # 标准包名
使用 Pigsty剧本 安装 pg_schedoc 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_schedoc"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_schedoc
RPM 包:
dnf install pg_schedoc_17;
dnf install pg_schedoc_16;
dnf install pg_schedoc_15;
dnf install pg_schedoc_14;
dnf install pg_schedoc_13;
从 APT仓库 手工安装 pg_schedoc
DEB 包:
apt install postgresql-17-pg-schedoc;
apt install postgresql-16-pg-schedoc;
apt install postgresql-15-pg-schedoc;
apt install postgresql-14-pg-schedoc;
apt install postgresql-13-pg-schedoc;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 schedoc
扩展:
CREATE EXTENSION schedoc CASCADE;
24 - hashlib
稳定哈希函数包
扩展总览
PIGSTY 第三方扩展: pg_hashlib
: 稳定哈希函数包
基本信息
元数据
- 默认版本: 1.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_hashlib_$v
- RPM版本:
1.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-hashlib
- DEB版本:
1.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_hashlib
扩展:
pig ext install pg_hashlib; # 扩展名称
pig ext install hashlib; # 标准包名
使用 Pigsty剧本 安装 pg_hashlib 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_hashlib"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_hashlib
RPM 包:
dnf install pg_hashlib_17;
dnf install pg_hashlib_16;
dnf install pg_hashlib_15;
dnf install pg_hashlib_14;
dnf install pg_hashlib_13;
从 APT仓库 手工安装 pg_hashlib
DEB 包:
apt install postgresql-17-pg-hashlib;
apt install postgresql-16-pg-hashlib;
apt install postgresql-15-pg-hashlib;
apt install postgresql-14-pg-hashlib;
apt install postgresql-13-pg-hashlib;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 hashlib
扩展:
CREATE EXTENSION hashlib;
25 - xxhash
xxhash哈希函数包
扩展总览
PIGSTY 第三方扩展: pg_xxhash
: xxhash哈希函数包
基本信息
元数据
- 默认版本: 0.0.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_xxhash_$v*
- RPM版本:
0.0.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-xxhash
- DEB版本:
0.0.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_xxhash
扩展:
pig ext install pg_xxhash; # 扩展名称
pig ext install xxhash; # 标准包名
使用 Pigsty剧本 安装 pg_xxhash 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_xxhash"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_xxhash
RPM 包:
dnf install pg_xxhash_17*;
dnf install pg_xxhash_16*;
dnf install pg_xxhash_15*;
dnf install pg_xxhash_14*;
dnf install pg_xxhash_13*;
从 APT仓库 手工安装 pg_xxhash
DEB 包:
apt install postgresql-17-pg-xxhash;
apt install postgresql-16-pg-xxhash;
apt install postgresql-15-pg-xxhash;
apt install postgresql-14-pg-xxhash;
apt install postgresql-13-pg-xxhash;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 xxhash
扩展:
26 - shacrypt
实现SHA256-CRYPT与SHA512-CRYPT密钥加密算法
扩展总览
PIGSTY 第三方扩展: shacrypt
: 实现SHA256-CRYPT与SHA512-CRYPT密钥加密算法
基本信息
元数据
- 默认版本: 1.1
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
postgres_shacrypt_$v*
- RPM版本:
1.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-shacrypt
- DEB版本:
1.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 shacrypt
扩展:
使用 Pigsty剧本 安装 shacrypt 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["shacrypt"]}' # -l <集群名>
从 YUM仓库 手工安装 shacrypt
RPM 包:
dnf install postgres_shacrypt_17*;
dnf install postgres_shacrypt_16*;
dnf install postgres_shacrypt_15*;
dnf install postgres_shacrypt_14*;
dnf install postgres_shacrypt_13*;
从 APT仓库 手工安装 shacrypt
DEB 包:
apt install postgresql-17-shacrypt;
apt install postgresql-16-shacrypt;
apt install postgresql-15-shacrypt;
apt install postgresql-14-shacrypt;
apt install postgresql-13-shacrypt;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 shacrypt
扩展:
CREATE EXTENSION shacrypt;
27 - cryptint
加密INT与BIGINT类型
扩展总览
PIGSTY 第三方扩展: cryptint
: 加密INT与BIGINT类型
基本信息
元数据
- 默认版本: 1.0.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
cryptint_$v*
- RPM版本:
1.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-cryptint
- DEB版本:
1.0.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 cryptint
扩展:
使用 Pigsty剧本 安装 cryptint 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["cryptint"]}' # -l <集群名>
从 YUM仓库 手工安装 cryptint
RPM 包:
dnf install cryptint_17*;
dnf install cryptint_16*;
dnf install cryptint_15*;
dnf install cryptint_14*;
dnf install cryptint_13*;
从 APT仓库 手工安装 cryptint
DEB 包:
apt install postgresql-17-cryptint;
apt install postgresql-16-cryptint;
apt install postgresql-15-cryptint;
apt install postgresql-14-cryptint;
apt install postgresql-13-cryptint;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 cryptint
扩展:
CREATE EXTENSION cryptint;
28 - pguecc
PostgreSQL的uECC绑定,椭圆曲线加解密函数包
扩展总览
PIGSTY 第三方扩展: pg_ecdsa
: PostgreSQL的uECC绑定,椭圆曲线加解密函数包
基本信息
元数据
- 默认版本: 1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未知
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_ecdsa_$v*
- RPM版本:
1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-ecdsa
- DEB版本:
1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_ecdsa
扩展:
pig ext install pg_ecdsa; # 扩展名称
pig ext install pguecc; # 标准包名
使用 Pigsty剧本 安装 pg_ecdsa 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_ecdsa"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_ecdsa
RPM 包:
dnf install pg_ecdsa_17*;
dnf install pg_ecdsa_16*;
dnf install pg_ecdsa_15*;
dnf install pg_ecdsa_14*;
dnf install pg_ecdsa_13*;
从 APT仓库 手工安装 pg_ecdsa
DEB 包:
apt install postgresql-17-pg-ecdsa;
apt install postgresql-16-pg-ecdsa;
apt install postgresql-15-pg-ecdsa;
apt install postgresql-14-pg-ecdsa;
apt install postgresql-13-pg-ecdsa;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pguecc
扩展:
29 - sparql
使用SQL查询SPARQL数据源
扩展总览
PIGSTY 第三方扩展: pgsparql
: 使用SQL查询SPARQL数据源
基本信息
元数据
- 默认版本: 1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
sparql
- 所需扩展:
plperl
, plperlu
软件包
- RPM仓库:PIGSTY
- RPM包名:
pgsparql_$v
- RPM版本:
1.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pgsparql
- DEB版本:
1.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pgsparql
扩展:
pig ext install pgsparql; # 扩展名称
pig ext install sparql; # 标准包名
使用 Pigsty剧本 安装 pgsparql 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgsparql"]}' # -l <集群名>
从 YUM仓库 手工安装 pgsparql
RPM 包:
dnf install pgsparql_17;
dnf install pgsparql_16;
dnf install pgsparql_15;
dnf install pgsparql_14;
dnf install pgsparql_13;
从 APT仓库 手工安装 pgsparql
DEB 包:
apt install postgresql-17-pgsparql;
apt install postgresql-16-pgsparql;
apt install postgresql-15-pgsparql;
apt install postgresql-14-pgsparql;
apt install postgresql-13-pgsparql;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 sparql
扩展:
CREATE EXTENSION sparql CASCADE;