This is the multi-page printable view of this section. Click here to print.
扩展:PGSQL
- 1: 安装使用
- 2: 扩展清单
- 2.1: 扩展元数据
- 2.2: RPM 扩展清单
- 2.3: DEB 扩展清单
- 2.4: Contrib 扩展清单
- 3: 构建打包
- 3.1: 虚拟机构建环境
- 3.2: 准备 rust 与 pgrx
- 3.3: PGML 构建指南
- 3.4: PLv8 构建指南
- 3.5: ParadeDB 构建指南
- 3.6: DuckDB FDW 构建指南
- 3.7: Parquet S3 FDW 构建指南
1 - 安装使用
1.1 - 快速上手
Pigsty 让您可以直接在 PGSQL
集群中,通过声明式的方式启用 PostgreSQL 插件。
概览
通常想要在一套 PostgreSQL 集群中使用插件,涉及到 下载、安装、加载、启用 四个核心问题:
-
怎样下载扩展:
repo_upstream
&repo_packages
在 Pigsty 默认在线安装时,已经默认下载了当前首要PG大版本(16)可用的所有扩展,如果不需要添加额外或者冷门扩展,通常都不需要您操心
repo_upstream
与repo_packages
以及扩展下载相关的问题。 -
安装哪些扩展:
pg_extensions
&pg_packages
在 Pigsty 配置模板中的样例集群中,已经提供了完整可用的扩展清单,您只需要将想要 安装 的扩展,添加到
pg_packages
与pg_extensions
中即可。 -
一小部分使用了 PostgreSQL HOOK 的扩展需要动态加载并重启数据库后才可以使用,您需要将这些扩展添加到
pg_libs
中,并在重启加载后生效。 -
启用哪些扩展:
pg_databases.extensions
绝大多数扩展在安装之后,都需要执行
CREATE EXTENSION
DDL 语句,才会真实在具体的数据库中被创建并启用。您可以手工执行此 DDL,或者在pg_datbasese.extensions
中显式指定,则数据库会在初始化的时候自动启用这些扩展。
开箱即用
Pigsty 为用户封装了扩展管理的复杂度,您不需要知道这些扩展的 RPM 包名,也不需要知道如何下载,安装,加载,启用这些扩展,只需要在配置文件中声明您需要的扩展即可。
例如,下面的配置文件片段声明了一个 PostgreSQL 集群,安装 了所有可用的扩展插件,动态 加载 了三个扩展,并 启用 了三个扩展。
pg-meta:
hosts:
10.10.10.10: { pg_seq: 1, pg_role: primary }
vars:
pg_cluster: pg-meta
pg_databases:
- name: meta
extensions:
- { name: postgis }
- { name: timescaledb }
- { name: vector }
pg_libs: 'timescaledb, pg_stat_statements, auto_explain'
pg_extensions:
- timescaledb periods temporal_tables emaj table_version pg_cron pg_later pg_background pg_timetable #[TIME]#
- postgis pgrouting pointcloud pg_h3 q3c ogr_fdw geoip #[GIS]#
- pgvector pgvectorscale pg_vectorize pg_similarity pg_tiktoken pgml #[RAG]#
- pg_search pg_bigm zhparser hunspell #[FTS]#
- hydra pg_lakehouse duckdb_fdw pg_fkpart pg_partman plproxy #citus pg_strom #[OLAP]#
- age hll rum pg_graphql pg_jsonschema jsquery pg_hint_plan hypopg imgsmlr pg_ivm pgmq pgq #[FEAT]#
- pg_tle plv8 pllua plprql pldebugger plpgsql_check plprofiler plsh pljava #plr faker pgtap #[LANG]#
- prefix semver pgmp pguint pgunit roaringbitmap md5hash asn1oid numeral pg_rational ip4r pgsphere pgfaceting timestamp9 #[TYPE]# #[FUNC]# #[ADMIN]# #[STAT]# #[SEC]#
- pg_gzip pg_http topn pg_net pgjwt shacrypt pgsql_tweaks pg_extra_time count_distinct extra_window_functions first_last_agg tdigest pgpcre icu_ext pg_idkit pg_hashids pg_uuidv7 permuteseq sequential_uuids
- pg_repack pg_squeeze pg_dirtyread pgfincore pgdd ddlx pg_prioritize pg_checksums pg_readonly safeupdate pg_permissions pg_auto_failover preprepare pg_catcheck
- pg_profile pg_show_plans pg_stat_kcache pg_stat_monitor pg_qualstats pg_store_plans pg_track_settings pg_wait_sampling system_stats bgw_replstatus pg_sqlog powa pgmeminfo toastinfo
- passwordcheck supautils pgsodium pg_vault anonymizer pg_tde pgsmcrypto pgaudit pgauditlogtofile pg_auth_mon credcheck pgcryptokey pg_jobmon logerrors login_hook set_user tablelog pg_snakeoil pgextwlist
- wrappers multicorn mongo_fdw mysql_fdw tds_fdw sqlite_fdw hdfs_fdw pgbouncer_fdw firebird_fdw #oracle_fdw db2_fdw #[FDW]#
- mysqlcompat pgmemcache pgtt orafce pg_statement_rollback pg_dbms_lock pg_dbms_metadata #pg_dbms_job babelfish #[SIM]#
- pglogical pgl_ddl_deploy decoderbufs wal2json wal2mongo pg_failover_slots mimeo pg_fact_loader pg_bulkload #repmgr slony #[ETL]#
- gis-stack rag-stack fdw-stack fts-stack etl-stack feat-stack olap-stack supa-stack stat-stack json-stack #[STACK]#
您可能注意到这里的扩展名称既非 RPM / DEB 包名,而是由 Pigsty 封装简化过的 标准扩展名(Alias)。
在不同的操作系统发行版中,Pigsty 将标准扩展名翻译为对应 PG 大版本的 RPM / DEB 包名,这样您就无需关心不同操作系统发行版的扩展包名差异了。
在 Pigsty configure
过程中,针对特定操作系统发行版生成的默认配置里已经带有上述清单。
要安装这些扩展,您只需要根据自己的需求,在配置文件中将需要的扩展取消注释即可。
请注意,您依然可以在这里直接使用操作系统特定的 RPM/DEB 包名称。
预定义的扩展集合
如果您不清楚应该安装哪些扩展,Pigsty 为您提供了一些预定义的扩展集合(Stack),您可以根据自己的需求场景,选择其中一个集合与任意组合,将其添加到 pg_extensions
中即可。
gis-stack
: 地理空间扩展集合,包括:postgis
,pgrouting
,pointcloud
,h3
,q3c
,ogr_fdw
rag-stack
: 向量检索扩展集合,包括:pgvector
,pgvectorscale
,pg_vectorize
,pg_similarity
,pg_tiktoken
,pgml
fts-stack
: 全文检索扩展集合,包括:pg_search
,pg_bigm
,zhparser
,hunspell
fdw-stack
: 外部数据扩展集合,包括:wrappers
,mysql_fdw
,tds_fdw
,sqlite_fdw
etl-stack
: 数据ETL/CDC集合,包括:pglogical
,pgl_ddl_deploy
,wal2json
,wal2mongo
,decoderbufs
,pg_fact_loader
,pg_bulkload
,pgloader
,pgcopydb
feat-stack
: 类型函数扩展集合,包括:age
,hll
,rum
,pg_graphql
,pg_jsonschema
,jsquery
,pg_ivm
,pgq3
,gzip
,http
,topn
,pgjwt
olap-stack
: 数据仓库OLAP集合,包括:duckdb
,duckdb_fdw
,pg-lakehouse
,hydra
,timescaledb
,pg-fkpart
,pg-partman
,plproxy
supa-stack
: Supabase扩展集合,包括:pg-graphql
,pg-jsonschema
,wrappers
,pgvector
,cron
,supautils
,pgsodium
,vault
,pgjwt
,http
,pg-net
stat-stack
: 统计监控扩展集合,包括:show-plans
,pg-stat-kcache
,pg-qualstats
,pg-track-settings
,pg-wait-sampling
,pg-sqlog
json-stack
: JSON处理扩展集合,包括:plv8
,pg-jsonschema
,pgjwt
,jsquery
,pg-graphql
,ferretdb
当您在 pg_extensions
或 pg_packages
中指定了这些扩展集合时,Pigsty 会自动翻译,展开并安装其中的所有扩展插件。
安装、加载与启用
Pigsty 不仅允许您在配置文件中声明需要安装的扩展,还允许您在配置文件中直接声明需要加载的扩展,以及需要启用的扩展。
下面是一个具体的例子:Supabase。 Supabase 是一个封装 PostgreSQL 作为底层存储的“上层抽象数据库”,它深度使用了 PostgreSQL 的扩展机制。 以下是使用 Pigsty 创建一套 Supabase 所需 PostgreSQL 集群的样例配置文件:
# supabase example cluster: pg-meta
# this cluster needs to be migrated with app/supabase/migration.sql :
# psql postgres://supabase_admin:[email protected]:5432/supa -v ON_ERROR_STOP=1 --no-psqlrc -f ~pigsty/app/supabase/migration.sql
pg-meta:
hosts: { 10.10.10.10: { pg_seq: 1, pg_role: primary } }
vars:
pg_cluster: pg-meta
pg_users:
- { name: supabase_admin ,password: 'DBUser.Supa' ,pgbouncer: true ,inherit: true ,superuser: true ,replication: true ,createdb: true ,createrole: true ,bypassrls: true }
pg_databases:
- name: supa
baseline: supa.sql # the init-scripts: https://github.com/supabase/postgres/tree/develop/migrations/db/init-scripts
owner: supabase_admin
comment: supabase postgres database
schemas: [ extensions ,auth ,realtime ,storage ,graphql_public ,supabase_functions ,_analytics ,_realtime ]
extensions:
- { name: pgcrypto ,schema: extensions } # 1.3 : cryptographic functions
- { name: pg_net ,schema: extensions } # 0.9.2 : async HTTP
- { name: pgjwt ,schema: extensions } # 0.2.0 : json web token API for postgres
- { name: uuid-ossp ,schema: extensions } # 1.1 : generate universally unique identifiers (UUIDs)
- { name: pgsodium } # 3.1.9 : pgsodium is a modern cryptography library for Postgres.
- { name: supabase_vault } # 0.2.8 : Supabase Vault Extension
- { name: pg_graphql } # 1.5.7 : pg_graphql: GraphQL support
- { name: pg_jsonschema } # 0.3.1 : pg_jsonschema: Validate json schema
- { name: wrappers } # 0.4.1 : wrappers: FDW collections
- { name: http } # 1.6 : http: allows web page retrieval inside the database.
- { name: pg_cron }
# supabase required extensions
pg_libs: 'pg_net, pg_cron, pg_stat_statements, auto_explain' # add pg_net to shared_preload_libraries
pg_extensions:
- wal2json pg_repack
- supa-stack # pgvector pg_cron pgsodium pg_graphql pg_jsonschema wrappers pgjwt pgsql_http pg_net supautils
pg_parameters:
cron.database_name: supa
pgsodium.enable_event_trigger: off
pg_hba_rules: # supabase hba rules, require access from docker network
- { user: all ,db: supa ,addr: intra ,auth: pwd ,title: 'allow supa database access from intranet' }
- { user: all ,db: supa ,addr: 172.0.0.0/8 ,auth: pwd ,title: 'allow supa database access from docker network'}
- { user: all ,db: supa ,addr: all ,auth: pwd ,title: 'allow supa database access from entire world' } # not safe!
在这里,我们声明了一个名为 pg-meta
的 PostgreSQL 集群,它包含了一个名为 supa
的数据库,以及一系列的扩展插件。
在 pg_extensions
中定义的 supa-stack
被翻译为 pgvector pg_cron pgsodium pg_graphql pg_jsonschema wrappers pgjwt pgsql_http pg_net supautils
,并自动安装。
与此同时,pg_libs
指定了两个需要动态加载的扩展: pg_net
与 pg_cron
;此外,pgsodium
与 pg_cron
扩展所必须的配置参数,也通过 pg_parameters
预先指定;
接下来,这些扩展在 pg_databases.extensions
中被依次创建到指定的/或默认的 Schema 中,正式启用。
最后,这样一个开箱即用,可以直接供无状态 Supabase 容器使用的高可用 PostgreSQL 集群,就能在一行 ./pgsql.yml
命令中被完整拉起,开箱即用。
1.2 - 下载扩展
在 Pigsty 默认安装模式中,扩展插件的下载与安装是分离的。在 安装扩展前 ,您需要确保目标节点上已经添加了相应的软件源,否则安装过程会因为找不到软件包而失败。
Pigsty 在安装过程中会下载当前首要PG大版本(16)可用的所有扩展至 INFRA节点 ,并构建一个 本地软件仓库,供包括本机在内的所有节点使用。 这样做可以加速安装,避免重复下载,减少网络流量消耗,提高交付可靠性性,并解决重复安装版本不一致的风险。
您也可以选择使用另一种方式:直接在 Pigsty 纳管的目标节点上添加上游 PostgreSQL 软件仓库及其依赖仓库(操作系统软件源)。 然后直接从互联网上游进行安装,这样做可以方便地将插件更新至最新版本,但要求环境有互联网访问或 HTTP 代理,同时可能会受网络条件影响,并有潜在的安装版本不一致风险。
软件仓库
在首次安装过程中,Pigsty 会从 repo_upstream
指定的上游软件仓库中下载 repo_packages
指定的软件包。
EL 系统与 Debian/Ubuntu 系统的软件包名称有所不同,完整列表请参考以下地址:
极个别插件因为各种原因被排除在外,默认没有下载。如果您需要使用这些扩展,请参考扩展列表里的 RPM / DEB 包名,将其加入到 repo_upstream
中后下载。
- 依赖过重:
pljava
,plr
- 生态位重叠:
repmgr
,pgexporterext
,pgpool
- EL9 独占:
pljava
,sequential_uuids
,firebird_fdw
下载扩展
要想下载新的扩展插件,您可以将其添加至 repo_upstream
中,并执行以下任务更新本地软件仓库,并刷新所有节点的软件源缓存:
./infra.yml -t repo # 重新下载指定的软件包至本地软件仓库
./node.yml -t node_repo # 刷新所有节点的本地软件仓库元数据缓存
Pigsty 默认使用位于 INFRA节点 上的本地软件源,如果您不想将这些扩展下载至本地软件源,而是直接使用在线软件仓库进行安装,那么可以直接将上游软件源添加到节点上:
./node.yml -t node_repo -e node_repo_modules=node,pgsql # 添加 Postgres 插件仓库与操作系统软件源(依赖)
完成这些任务后,您就可以通过标准操作系统包管理器(yum/apt)的方式,安装 PostgreSQL 扩展插件了。
1.3 - 扩展仓库
YUM仓库
Pigsty 目前针对 EL 系统提供了补充插件仓库,在官方 PGDG YUM 仓库的基础上提供了 65 个额外的 RPM 插件。
- Pigsty YUM 仓库: https://repo.pigsty.io/yum/
- PGDG YUM 仓库: https://download.postgresql.org/pub/repos/yum/
Pigsty Yum 仓库只收录那些 不存在于 PGDG Yum 仓库的扩展,一旦某个扩展进入 PGDG YUM 仓库,Pigsty Yum 仓库将移除此扩展或与 PGDG 仓库保持一致。
对于 EL 7/8/9 及其兼容系统,使用以下命令依次添加 Pigsty 仓库的 GPG 公钥与上游仓库文件:
curl -fsSL https://repo.pigsty.io/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null # 添加公钥
curl -fsSL https://repo.pigsty.io/yum/repo | sudo tee /etc/yum.repos.d/pigsty.repo >/dev/null # 添加仓库
中国大陆地区的用户,可以使用国内 CDN 镜像 YUM 仓库:
curl -fsSL https://repo.pigsty.cc/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null # 添加公钥
curl -fsSL https://repo.pigsty.cc/yum/repo | sudo tee /etc/yum.repos.d/pigsty.repo >/dev/null # 添加仓库
所有的 RPM 包都使用指纹为 9592A7BC7A682E7333376E09E7935D8DB9BD8B20
(B9BD8B20
) 的 GPG 密钥进行签名。
手工写入Repo文件
sudo tee /etc/yum.repos.d/pigsty-io.repo > /dev/null <<-'EOF'
[pigsty-infra]
name=Pigsty Infra for $basearch
baseurl=https://repo.pigsty.io/yum/infra/$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
[pigsty-pgsql]
name=Pigsty PGSQL For el$releasever.$basearch
baseurl=https://repo.pigsty.io/yum/pgsql/el$releasever.$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
EOF
sudo yum makecache;
APT仓库
Pigsty 目前针对 Debian / Ubuntu 系统提供了补充插件仓库,在官方 PGDG YUM 仓库的基础上提供了 77 个额外的 DEB 插件包。
- Pigsty APT 仓库: https://repo.pigsty.io/apt/
- PGDG APT 仓库: http://apt.postgresql.org/pub/repos/apt/
Pigsty APT 仓库只收录那些 不存在于 PGDG ATP 仓库的扩展:一旦某个扩展进入 PGDG APT 仓库,Pigsty APT 仓库将移除此扩展或与 PGDG 仓库保持一致。
对于 Debian / Ubuntu 及其兼容系统,使用以下命令依次添加 Pigsty 仓库的 GPG 公钥与上游仓库文件:
# 将 pigsty 的 gpg 公钥添加到你的系统钥匙链中,从而验证软件包签名
curl -fsSL https://repo.pigsty.io/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg # 添加公钥
# 获取 Debian 发行版代号,distro_codename=jammy, focal, bullseye, bookworm,并将对应上游仓库地址写入 APT List 文件
distro_codename=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/pigsty-io.list > /dev/null <<EOF
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/infra generic main
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/pgsql ${distro_codename} main
EOF
# 刷新 APT 仓库缓存
sudo apt update
中国大陆地区的用户,可以使用国内 CDN 镜像 APT 仓库:
# 将 pigsty 的 gpg 公钥添加到你的系统钥匙链中,从而验证软件包签名
curl -fsSL https://repo.pigsty.cc/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg # 添加公钥
# 获取 Debian 发行版代号,distro_codename=jammy, focal, bullseye, bookworm,并将对应上游仓库地址写入 APT List 文件
distro_codename=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/pigsty-io.list > /dev/null <<EOF
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.cc/apt/infra generic main
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.cc/apt/pgsql/${distro_codename} ${distro_codename} main
EOF
# 刷新 APT 仓库缓存
sudo apt update
所有的 DEB 包都使用指纹为 9592A7BC7A682E7333376E09E7935D8DB9BD8B20
(B9BD8B20
) 的 GPG 密钥进行签名。
扩展安装
Pigsty 目前针对 EL 系统提供了补充插件仓库,在官方 PGDG YUM 仓库的基础上提供了 65 个额外的 RPM 插件。
- Pigsty YUM 仓库: https://repo.pigsty.io/yum/
- PGDG YUM 仓库: https://download.postgresql.org/pub/repos/yum/
Pigsty Yum 仓库只收录那些 不存在于 PGDG Yum 仓库的扩展,一旦某个扩展进入 PGDG YUM 仓库,Pigsty Yum 仓库将移除此扩展或与 PGDG 仓库保持一致。
1.4 - 安装扩展
Pigsty 使用操作系统标准的包管理器(yum/apt)来安装 PostgreSQL 扩展插件。
扩展安装相关参数
您可以在以下变量中指定要安装哪些扩展,两者的效果基本相同:
通常 pg_packages
用于在全局指定整个环境中所有 PostgreSQL 集群都需要统一安装的软件包:
例如 PostgreSQL 内核,高可用组建 Patroni,连接池 pgBouncer,监控 pgExporter 等。
Pigsty 默认也会在这里指定安装两个必选扩展: pg_repack
和 wal2json
用于膨胀治理和 CDC 变更抽取。
而 pg_extensions
则通常用于在特定集群中,指定本集群需要安装的扩展插件。
Pigsty 默认安装三个PG生态的重要扩展:postgis
, timescaledb
, pgvector
,您可以在这里指定需要安装的其他扩展插件。
pg_packages: # pg packages to be installed, alias can be used
- postgresql
- patroni pgbouncer pgbackrest pg_exporter pgbadger vip-manager wal2json pg_repack
pg_extensions: # pg extensions to be installed, alias can be used
- postgis timescaledb pgvector
另一个重要区别是:pg_packages
安装的软件包只确保存在,而 pg_extensions
安装的软件包会默认升级到最新可用版本。
当使用本地软件源时,这并不是一个问题。当您直接使用互联网上游软件源时,请充分考虑这一点,并将不希望升级的扩展插件转移到 pg_packages
中。
在 PGSQL 集群初始化时,Pigsty 会自动安装 pg_packages
和 pg_extensions
中指定的扩展插件。
在已有集群上安装扩展
对于一个已经完成置备初始化的 PostgreSQL 集群,您可以首先将所需的扩展添加至 pg_packages
或 pg_extensions
中,然后通过以下命令安装扩展:
./pgsql.yml -t pg_extension # 安装 pg_extensions 中指定的扩展插件
扩展名翻译机制
在 Pigsty 中,您可以在 pg_packages
和 pg_extensions
中使用:
- 原始的操作系统包名
- 标准扩展名(Alias)
例如:
postgis # 安装当前 PG 大版本对应的 PostGIS 包
postgis34_$v* # 安装当前 PG 大版本对应的 PostGIS RPM 包
postgis34_15* # 安装 PG 15 大版本对应的 PostGIS RPM 包
postgresql-$v-postgis-3* # 安装当前 PG 大版本对应的 PostGIS DEB 包
postgresql-14-postgis-3* # 安装 PG 14 大版本对应的 PostGIS DEB 包
我们建议使用 Pigsty 提供的标准化扩展名(Alias),在不同的操作系统发行版中,Pigsty 将标准扩展名翻译为对应 PG 大版本的 RPM / DEB 包名,这样用户可以无需关心不同操作系统发行版的扩展包名差异:
Pigsty 尽最大努力对齐 EL 操作系统与 Debian 操作系统生态的 PostgreSQL 扩展,但仍有少量扩展因为各种原因难以/尚未移植, 请参考 RPM扩展列表 与 DEB扩展列表 了解更多信息。
1.5 - 加载扩展
安装 PostgreSQL 扩展后,您便可以在 PostgreSQL 的 pg_available_extensions
视图中看到它们。
除了纯 SQL 编写的扩展外,绝大多数扩展都会提供一个 .so
文件,这是一个动态连接库文件。
大部分扩展并不需要显式加载,只需要通过 CREATE EXTENSION
启用即可。
但一小部分扩展使用 PostgreSQL 的 Hook 机制,这些扩展必须通过 shared_preload_libraries
参数预先加载,并重启 PostgreSQL 后才能生效。
如果您在未加载/重启生效的情况下直接执行 CREATE EXTENSION
会报错。
在 Pigsty 中,您可以在集群的 pg_libs
参数中预先指定集群需要加载的扩展,或者在集群初始化后 修改集群配置。
需要加载的扩展
在 扩展列表 中,带有 LOAD
标记的扩展,即为需要动态加载并重启的扩展,包括:
扩展名 | 标准名 | 说明 |
---|---|---|
timescaledb |
timescaledb | 时序数据库扩展插件 |
pgml |
pgml | PostgresML:用SQL运行机器学习算法并训练模型 |
citus |
citus | Citus 分布式数据库 |
pg_squeeze |
pg_squeeze | 从关系中删除未使用空间 |
pgautofailover |
pgautofailover | PG 自动故障迁移 |
pg_prewarm |
pg_prewarm | 预热关系数据 |
pg_stat_kcache |
pg_stat_kcache | 内核统计信息收集 |
bgw_replstatus |
bgw_replstatus | 用于汇报本机主从状态的后台工作进程 |
auto_explain |
auto_explain | 提供一种自动记录执行计划的手段 |
pg_stat_statements |
pg_stat_statements | 跟踪所有执行的 SQL 语句的计划和执行统计信息 |
passwordcheck_cracklib |
passwordcheck | 使用cracklib加固PG用户密码 |
supautils |
supautils | 用于在云环境中确保数据库集群的安全 |
pg_tde |
pg_tde | 试点性质的加密存储引擎 |
pgaudit |
pgaudit | 提供审计功能 |
pg_snakeoil |
pg_snakeoil | PostgreSQL动态链接库反病毒功能 |
pgextwlist |
pgextwlist | PostgreSQL扩展白名单功能 |
sepgsql |
sepgsql | 基于SELinux标签的强制访问控制 |
auth_delay |
auth_delay | 在返回认证失败前暂停一会,避免爆破 |
passwordcheck |
passwordcheck | 用于强制拒绝修改弱密码的扩展 |
pg_statement_rollback |
pg_statement_rollback | 在服务端提供类似Oracle/DB2的语句级回滚能力 |
babelfishpg_tsql |
babelfishpg_tsql | SQL Server SQL语法兼容性扩展 |
加载顺序
在 shared_preload_libraries
中,如果有多个扩展插件需要加载,可以使用逗号分隔,例如:
'timescaledb, pg_stat_statements, auto_explain'
请注意,Citus 和 TimescaleDB 这两个扩展显式提出要求,要在 shared_preload_libraries
中预先加载,也就是放在最前面。
虽然同时使用 Citus 与 TimescaleDB 的情况非常罕见,但在这种情况中,建议将 citus
放在 timescaledb
之前。
Pigsty 默认会加载两个扩展:pg_stat_statements
与 auto_explain
,这两个扩展对于优化数据库性能非常实用,强烈建议安装。
1.6 - 启用扩展
CREATE EXTENSION
在 PostgreSQL 数据库中真正启用扩展?列出可用扩展
安装 PostgreSQL 扩展后,您可以在 PostgreSQL 的 pg_available_extensions
视图中看到它们。但想要实际启用扩展,通常还需要额外的步骤:
- 一部分扩展要求被添加到
shared_preload_libraries
中动态加载,例如timescaledb
,citus
等。 - 大部分扩展都需要通过 SQL 语句:
CREATE EXTENSION <name>;
启用,极少量扩展不需要,例如wal2json
。
- 修改
shared_preload_libraries
: - 执行
CREATE EXTENSION
:- 在数据库集群初始化前,可以在
pg_databases
.extensions
列表中指定。 - 当数据库已经初始化完毕后,您可以直接连接数据库执行此 SQL 命令,或使用其他模式变更工具管理扩展。
- 在数据库集群初始化前,可以在
从原理上讲:PostgreSQL 的扩展通常由 Control文件(元数据,一定存在),SQL文件(SQL语句,可选),So文件(二进制动态连接库,可选)三部分组成。 提供
.so
文件的扩展有可能需要添加到shared_preload_libraries
才能生效,例如citus
与timescaledb
,但也有许多扩展不用,例如postgis
,pgvector
。 不通过 SQL 接口对外服务的扩展不需要执行CREATE EXTENSION
,例如提供 CDC 抽取能力的wal2json
扩展。
在您希望启用扩展的数据库中执行 CREATE EXTENSION
SQL 语句,即可完成扩展的创建:
CREATE EXTENSION vector; -- 安装向量数据库扩展
CREATE EXTENSION hydra; -- 安装列存数据库扩展
1.7 - 更新扩展
1.8 - 卸载扩展
要卸载某个扩展,通常需要执行以下步骤:
DROP EXTENSION "<extname>";
请注意,如果有其他扩展,或者使用此扩展的数据库对象依赖,您需要首先卸载/删除这些依赖,然后再卸载此扩展;
或者,也可以使用以下语句一次性强制卸载扩展及其依赖:
DROP EXTENSION "<extname>" CASCADE;
注意:
CASCADE
选项会删除依赖于此扩展的所有对象,包括数据库对象、函数、视图等,慎用!
如果您希望移除扩展的软件包,可以操作系统的包管理器进行卸载:
1.9 - 预定义扩展栈
2 - 扩展清单
Pigsty 中总共有 340 个可用扩展,其中 EL 可用 RPM扩展 338 个,Debian/Ubuntu 可用 DEB扩展 326 个。 除去 PostgreSQL 自带的 70 个 Contrib扩展,共有 275 个第三方(PGDG,Pigsty)扩展插件。
扩展名(官网) | 标准名(简介) | 仓库 | 版本 | 类目 | 许可证 | LOAD |
DDL |
TRUST |
RELOC |
简介 |
---|---|---|---|---|---|---|---|---|---|---|
timescaledb | timescaledb |
PGDG | 2.17.0 | TIME |
Timescale | 时序数据库扩展插件 | ||||
timeseries | pg_timeseries |
PIGSTY | 0.1.6 | TIME |
PostgreSQL | Tembo时序数据API封装 | ||||
periods | periods |
PGDG | 1.2 | TIME |
PostgreSQL | 为 PERIODs 和 SYSTEM VERSIONING 提供标准 SQL 功能 | ||||
temporal_tables | temporal_tables |
PIGSTY | 1.2.2 | TIME |
BSD 2 | 时态表功能支持 | ||||
emaj | emaj |
PGDG | 4.5.0 | TIME |
GPLv3 | 让数据库的子集具有细粒度日志和时间旅行功能 | ||||
table_version | table_version |
PGDG | 1.10.3 | TIME |
BSD 3 | PostgreSQL 版本控制表扩展 | ||||
pg_cron | pg_cron |
PGDG | 1.6 | TIME |
PostgreSQL | 定时任务调度器 | ||||
pg_later | pg_later |
PIGSTY | 0.1.1 | TIME |
PostgreSQL | 执行查询,并在稍后异步获取查询结果 | ||||
pg_background | pg_background |
PGDG | 1.0 | TIME |
GPLv3 | 在后台运行 SQL 查询 | ||||
pg_timetable | pg_timetable |
PGDG | 5.9.0 | TIME |
PostgreSQL | PostgreSQL高级任务调度器 | ||||
postgis | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | PostGIS 几何和地理空间扩展 | ||||
postgis_topology | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | PostGIS 拓扑空间类型和函数 | ||||
postgis_raster | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | PostGIS 光栅类型和函数 | ||||
postgis_sfcgal | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | PostGIS SFCGAL 函数 | ||||
postgis_tiger_geocoder | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | PostGIS tiger 地理编码器和反向地理编码器 | ||||
address_standardizer | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | 地址标准化函数。 | ||||
address_standardizer_data_us | postgis |
PGDG | 3.5.0 | GIS |
GPLv2 | 地址标准化函数:美国数据集示例 | ||||
pgrouting | pgrouting |
PGDG | 3.6.0 | GIS |
GPLv2 | 提供寻路能力 | ||||
pointcloud | pointcloud |
PIGSTY | 1.2.5 | GIS |
BSD 3 | 提供激光雷达点云数据类型支持 | ||||
pointcloud_postgis | pointcloud |
PGDG | 1.2.5 | GIS |
BSD 3 | 将激光雷达点云与PostGIS几何类型相集成 | ||||
h3 | pg_h3 |
PGDG | 4.1.3 | GIS |
Apache-2.0 | H3六边形层级索引支持 | ||||
h3_postgis | pg_h3 |
PGDG | 4.1.3 | GIS |
Apache-2.0 | H3与PostGIS集成的扩展插件 | ||||
q3c | q3c |
PIGSTY | 2.0.1 | GIS |
GPLv2 | Q3C天空索引插件 | ||||
ogr_fdw | ogr_fdw |
PGDG | 1.1 | GIS |
MIT | GIS 数据外部数据源包装器 | ||||
geoip | geoip |
PGDG | 0.3.0 | GIS |
BSD 2 | IP 地理位置扩展(围绕 MaxMind GeoLite 数据集的包装器) | ||||
pg_polyline | pg_polyline |
PIGSTY | 0.0.0 | GIS |
MIT | Google快速Polyline编码解码扩展 | ||||
pg_geohash | pg_geohash |
PIGSTY | 1.0 | GIS |
MIT | 使用GeoHash处理空间坐标的函数包 | ||||
mobilitydb | mobilitydb |
PGDG | 1.1.1 | GIS |
GPLv3 | MobilityDB地理空间投影数据管理分析平台 | ||||
earthdistance | earthdistance |
CONTRIB | 1.1 | GIS |
PostgreSQL | 计算地球表面上的大圆距离 | ||||
vector | pgvector |
PGDG | 0.7.4 | RAG |
PostgreSQL | 向量数据类型和 ivfflat / hnsw 访问方法 | ||||
vectorscale | pgvectorscale |
PIGSTY | 0.4.0 | RAG |
PostgreSQL | 使用DiskANN算法对向量进行高效索引 | ||||
vectorize | pg_vectorize |
PIGSTY | 0.18.3 | RAG |
PostgreSQL | 在PostgreSQL中封装RAG向量检索服务 | ||||
pg_similarity | pg_similarity |
PIGSTY | 1.0 | RAG |
BSD 3 | 提供17种距离度量函数 | ||||
smlar | smlar |
PIGSTY | 1.0 | RAG |
PostgreSQL | 高效的相似度搜索函数 | ||||
pg_summarize | pg_summarize |
PIGSTY | 0.0.0 | FUNC |
PostgreSQL | 使用LLM对文本字段进行总结 | ||||
pg_tiktoken | pg_tiktoken |
PIGSTY | 0.0.1 | RAG |
Apache-2.0 | 在PostgreSQL中计算OpenAI使用的Token数 | ||||
pgml | pgml |
PIGSTY | 2.9.3 | RAG |
MIT | PostgresML:用SQL运行机器学习算法并训练模型 | ||||
pg4ml | pg4ml |
PIGSTY | 2.0 | RAG |
AGPLv3 | PG4ML是一个机器学习框架 | ||||
pg_search | pg_search |
PIGSTY | 0.11.1 | FTS |
AGPLv3 | ParadeDB BM25算法全文检索插件,ES全文检索 | ||||
pg_bigm | pg_bigm |
PGDG | 1.2 | FTS |
PostgreSQL | 基于二字组的多语言全文检索扩展 | ||||
zhparser | zhparser |
PIGSTY | 2.2 | FTS |
PostgreSQL | 中文分词,全文搜索解析器 | ||||
hunspell_cs_cz | hunspell_cs_cz |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell捷克语全文检索词典 | ||||
hunspell_de_de | hunspell_de_de |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell德语全文检索词典 | ||||
hunspell_en_us | hunspell_en_us |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell英语全文检索词典 | ||||
hunspell_fr | hunspell_fr |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell法语全文检索词典 | ||||
hunspell_ne_np | hunspell_ne_np |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell尼泊尔语全文检索词典 | ||||
hunspell_nl_nl | hunspell_nl_nl |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell荷兰语全文检索词典 | ||||
hunspell_nn_no | hunspell_nn_no |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell挪威语全文检索词典 | ||||
hunspell_pt_pt | hunspell_pt_pt |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell葡萄牙语全文检索词典 | ||||
hunspell_ru_ru | hunspell_ru_ru |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell俄语全文检索词典 | ||||
hunspell_ru_ru_aot | hunspell_ru_ru_aot |
PIGSTY | 1.0 | FTS |
PostgreSQL | Hunspell俄语全文检索词典(来自AOT.ru小组) | ||||
fuzzystrmatch | fuzzystrmatch |
CONTRIB | 1.2 | FTS |
PostgreSQL | 确定字符串之间的相似性和距离 | ||||
pg_trgm | pg_trgm |
CONTRIB | 1.6 | FTS |
PostgreSQL | 文本相似度测量函数与模糊检索 | ||||
citus | citus |
PGDG | 12.1-1 | OLAP |
AGPLv3 | Citus 分布式数据库 | ||||
citus_columnar | citus |
PGDG | 11.3-1 | OLAP |
AGPLv3 | Citus 列式存储 | ||||
columnar | hydra |
PIGSTY | 11.1-11 | OLAP |
AGPLv3 | 开源列式存储扩展 | ||||
pg_analytics | pg_analytics |
PIGSTY | 0.2.1 | OLAP |
AGPLv3 | 由 DuckDB 驱动的数据分析引擎 | ||||
pg_duckdb | pg_duckdb |
PIGSTY | 0.0.1 | OLAP |
MIT | 在PostgreSQL中的嵌入式DuckDB扩展 | ||||
duckdb_fdw | duckdb_fdw |
PIGSTY | 1.0.0 | OLAP |
MIT | DuckDB 外部数据源包装器 | ||||
pg_parquet | pg_parquet |
PIGSTY | 0.1.0 | OLAP |
PostgreSQL | 在PostgreSQL与本地/S3中的Parquet文件复制数据 | ||||
pg_fkpart | pg_fkpart |
PGDG | 1.7 | OLAP |
GPLv2 | 按外键实用程序进行表分区的扩展 | ||||
pg_partman | pg_partman |
PGDG | 5.1.0 | OLAP |
PostgreSQL | 用于按时间或 ID 管理分区表的扩展 | ||||
plproxy | plproxy |
PGDG | 2.11.0 | OLAP |
BSD 0 | 作为过程语言实现的数据库分区 | ||||
pg_strom | pg_strom |
PGDG | 5.1 | OLAP |
PostgreSQL | 使用GPU与NVMe加速大数据处理 | ||||
tablefunc | tablefunc |
CONTRIB | 1.0 | OLAP |
PostgreSQL | 交叉表函数 | ||||
age | age |
PIGSTY | 1.5.0 | FEAT |
Apache-2.0 | Apache AGE,图数据库扩展 (Deb可用) | ||||
hll | hll |
PGDG | 2.18 | FEAT |
Apache-2.0 | hyperloglog 数据类型 | ||||
rum | rum |
PGDG | 1.3 | FEAT |
PostgreSQL | RUM 索引访问方法 | ||||
pg_graphql | pg_graphql |
PIGSTY | 1.5.9 | FEAT |
Apache-2.0 | PG内的 GraphQL 支持 (RUST, supabase) | ||||
pg_jsonschema | pg_jsonschema |
PIGSTY | 0.3.3 | FEAT |
Apache-2.0 | 提供JSON Schema校验能力 | ||||
jsquery | jsquery |
PGDG | 1.1 | FEAT |
PostgreSQL | 用于内省 JSONB 数据类型的查询类型 | ||||
pg_hint_plan | pg_hint_plan |
PGDG | 1.6.1 | FEAT |
BSD 3 | 添加强制指定执行计划的能力 | ||||
hypopg | hypopg |
PGDG | 1.4.1 | FEAT |
PostgreSQL | 假设索引,用于创建一个虚拟索引检验执行计划 | ||||
index_advisor | index_advisor |
PIGSTY | 0.2.0 | FEAT |
PostgreSQL | 查询索引建议器 | ||||
plan_filter | pg_plan_filter |
PIGSTY | 0.0.1 | FEAT |
PostgreSQL | 使用执行计划代价过滤阻止特定查询语句 | ||||
imgsmlr | imgsmlr |
PIGSTY | 1.0 | FEAT |
PostgreSQL | 使用Haar小波分析计算图片相似度 | ||||
pg_ivm | pg_ivm |
PGDG | 1.8 | FEAT |
PostgreSQL | 增量维护的物化视图 | ||||
pgmq | pgmq |
PIGSTY | 1.4.4 | FEAT |
PostgreSQL | 基于Postgres实现类似AWS SQS/RSMQ的消息队列 | ||||
pgq | pgq |
PGDG | 3.5.1 | FEAT |
ISC | 通用队列的PG实现 | ||||
pg_cardano | pg_cardano |
PIGSTY | 1.0.2 | FEAT |
MIT | Cardano相关工具包:加密函数,地址编解码,区块链处理 | ||||
rdkit | rdkit |
PGDG | 4.3.0 | FEAT |
BSD 3 | 在PostgreSQL化学领域数据管理功能 | ||||
bloom | bloom |
CONTRIB | 1.0 | FEAT |
PostgreSQL | bloom 索引-基于指纹的索引 | ||||
pg_tle | pg_tle |
PIGSTY | 1.2.0 | LANG |
Apache-2.0 | AWS 可信语言扩展 | ||||
plv8 | plv8 |
PIGSTY | 3.2.3 | LANG |
PostgreSQL | PL/JavaScript (v8) 可信过程程序语言 | ||||
plluau | pllua |
PGDG | 2.0 | LANG |
MIT | Lua 程序语言(不受信任的) | ||||
hstore_plluau | pllua |
PGDG | 1.0 | LANG |
MIT | Lua 程序语言的Hstore适配扩展(不受信任的) | ||||
pllua | pllua |
PGDG | 2.0 | LANG |
MIT | Lua 程序语言 | ||||
hstore_pllua | pllua |
PGDG | 1.0 | LANG |
MIT | Lua 程序语言的Hstore适配扩展 | ||||
plprql | plprql |
PIGSTY | 0.1.0 | LANG |
Apache-2.0 | 在PostgreSQL使用PRQL——管线式关系查询语言 | ||||
pldbgapi | pldebugger |
PGDG | 1.1 | LANG |
Artistic | 用于调试 PL/pgSQL 函数的服务器端支持 | ||||
plpgsql_check | plpgsql_check |
PGDG | 2.7 | LANG |
MIT | 对 plpgsql 函数进行扩展检查 | ||||
plprofiler | plprofiler |
PGDG | 4.2 | LANG |
Artistic | 剖析 PL/pgSQL 函数 | ||||
plsh | plsh |
PGDG | 2 | LANG |
MIT | PL/sh 程序语言 | ||||
pljava | pljava |
PGDG | 1.6.6 | LANG |
BSD 3 | Java 程序语言 | ||||
plr | plr |
PGDG | 8.4.6 | LANG |
GPLv2 | 从数据库中加载R语言解释器并执行R脚本 | ||||
pgtap | pgtap |
PGDG | 1.3.1 | LANG |
PostgreSQL | PostgreSQL单元测试框架 | ||||
faker | faker |
PGDG | 0.5.3 | LANG |
PostgreSQL | 插入生成的测试伪造数据,Python库的包装 | ||||
dbt2 | dbt2 |
PGDG | 0.45.0 | LANG |
Artistic | OSDL-DBT-2 测试组件 | ||||
pltcl | pltcl |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/TCL 存储过程语言 | ||||
pltclu | pltcl |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/TCL 存储过程语言(未受信/高权限) | ||||
plperl | plperl |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/Perl 存储过程语言 | ||||
bool_plperl | plperl |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 bool 和 plperl 之间转换 | ||||
hstore_plperl | plperl |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 hstore 和 plperl 之间转换适配类型 | ||||
jsonb_plperl | plperl |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 jsonb 和 plperl 之间转换 | ||||
plperlu | plperlu |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/PerlU 存储过程语言(未受信/高权限) | ||||
bool_plperlu | plperlu |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 bool 和 plperlu 之间转换 | ||||
jsonb_plperlu | plperlu |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 jsonb 和 plperlu 之间转换 | ||||
hstore_plperlu | plperlu |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 hstore 和 plperlu 之间转换适配类型 | ||||
plpgsql | plpgsql |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/pgSQL 程序设计语言 | ||||
plpython3u | plpython3u |
CONTRIB | 1.0 | LANG |
PostgreSQL | PL/Python3 存储过程语言(未受信/高权限) | ||||
jsonb_plpython3u | plpython3u |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 jsonb 和 plpython3u 之间转换 | ||||
ltree_plpython3u | plpython3u |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 ltree 和 plpython3u 之间转换 | ||||
hstore_plpython3u | plpython3u |
CONTRIB | 1.0 | LANG |
PostgreSQL | 在 hstore 和 plpython3u 之间转换 | ||||
prefix | prefix |
PGDG | 1.2.0 | TYPE |
PostgreSQL | 前缀树数据类型 | ||||
semver | semver |
PGDG | 0.32.1 | TYPE |
PostgreSQL | 语义版本号数据类型 | ||||
unit | pgunit |
PGDG | 7 | TYPE |
GPLv3 | SI 国标单位扩展 | ||||
md5hash | md5hash |
PIGSTY | 1.0.1 | TYPE |
BSD 2 | 提供128位MD5的原生数据类型 | ||||
asn1oid | asn1oid |
PIGSTY | 1 | TYPE |
GPLv3 | ASN1OID数据类型支持 | ||||
roaringbitmap | roaringbitmap |
PIGSTY | 0.5 | TYPE |
Apache-2.0 | 支持RoaringBitmap数据类型 | ||||
pgfaceting | pgfaceting |
PIGSTY | 0.2.0 | TYPE |
BSD 3 | 使用倒排索引的高速切面查询 | ||||
pg_sphere | pgsphere |
PIGSTY | 1.5.1 | TYPE |
BSD 3 | 球面对象函数、运算符与索引支持 | ||||
country | pg_country |
PIGSTY | 0.0.3 | TYPE |
PostgreSQL | 国家代码数据类型,遵循ISO 3166-1标准 | ||||
currency | pg_currency |
PIGSTY | 0.0.3 | TYPE |
MIT | 使用1字节表示的货币数据类型 | ||||
pgmp | pgmp |
PGDG | 1.1 | TYPE |
LGPLv3 | 多精度算术扩展 | ||||
numeral | numeral |
PIGSTY | 1 | TYPE |
GPLv2 | 数值类型扩展 | ||||
pg_rational | pg_rational |
PIGSTY | 0.0.2 | TYPE |
MIT | 使用BIGINT表示的有理数数据类型 | ||||
uint | pguint |
PGDG | 0 | TYPE |
PostgreSQL | 无符号整型数据类型 | ||||
uint128 | pg_uint128 |
PIGSTY | 1.0.0 | TYPE |
PostgreSQL | 原生128位无符号整型数据类型 | ||||
ip4r | ip4r |
PGDG | 2.4 | TYPE |
PostgreSQL | PostgreSQL 的 IPv4/v6 和 IPv4/v6 范围索引类型 | ||||
uri | pg_uri |
PIGSTY | 1 | TYPE |
PostgreSQL | URI数据类型 | ||||
pgemailaddr | pgemailaddr |
PIGSTY | 0 | TYPE |
PostgreSQL | Email地址数据类型 | ||||
acl | acl |
PIGSTY | 1.0.4 | TYPE |
BSD-2 | ACL数据类型 | ||||
debversion | debversion |
PGDG | 1.2 | TYPE |
PostgreSQL | Debian版本号数据类型 | ||||
pg_rrule | pg_rrule |
PGDG | 0.2.0 | TYPE |
MIT | 日历重复规则RRULE数据类型 | ||||
timestamp9 | timestamp9 |
PGDG | 1.4.0 | TYPE |
MIT | 纳秒分辨率时间戳 | ||||
chkpass | chkpass |
PIGSTY | 1.0 | TYPE |
PostgreSQL | 数据类型:自动加密的密码 | ||||
isn | isn |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 用于国际产品编号标准的数据类型 | ||||
seg | seg |
CONTRIB | 1.4 | TYPE |
PostgreSQL | 表示线段或浮点间隔的数据类型 | ||||
cube | cube |
CONTRIB | 1.5 | TYPE |
PostgreSQL | 用于存储多维立方体的数据类型 | ||||
ltree | ltree |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 用于表示分层树状结构的数据类型 | ||||
hstore | hstore |
CONTRIB | 1.8 | TYPE |
PostgreSQL | 用于存储(键,值)对集合的数据类型 | ||||
citext | citext |
CONTRIB | 1.6 | TYPE |
PostgreSQL | 提供大小写不敏感的字符串类型 | ||||
xml2 | xml2 |
CONTRIB | 1.1 | TYPE |
PostgreSQL | XPath 查询和 XSLT | ||||
topn | topn |
PGDG | 2.6.0 | FUNC |
AGPLv3 | top-n JSONB 的类型 | ||||
gzip | pg_gzip |
PGDG | 1.0 | FUNC |
MIT | 使用SQL执行Gzip压缩与解压缩 | ||||
zstd | pg_zstd |
PIGSTY | 1.1.0 | FUNC |
ISC | ZSTD压缩解压缩函数包 | ||||
http | pg_http |
PGDG | 1.6 | FUNC |
MIT | HTTP客户端,允许在数据库内收发HTTP请求 (supabase) | ||||
pg_net | pg_net |
PIGSTY | 0.9.2 | FUNC |
Apache-2.0 | 用 SQL 进行异步非阻塞HTTP/HTTPS 请求的扩展 (supabase) | ||||
pg_html5_email_address | pg_html5_email_address |
PIGSTY | 1.2.3 | FUNC |
PostgreSQL | 验证Email是否符合HTML5规范的扩展 | ||||
pgsql_tweaks | pgsql_tweaks |
PGDG | 0.10.6 | FUNC |
PostgreSQL | 一些日常会用到的便利函数与视图 | ||||
pg_extra_time | pg_extra_time |
PGDG | 1.1.3 | FUNC |
PostgreSQL | 一些关于日期与时间的扩展函数 | ||||
timeit | pg_timeit |
PIGSTY | 1.0 | FUNC |
PostgreSQL | 使用SQL语句执行高精度计时 | ||||
count_distinct | count_distinct |
PGDG | 3.0.1 | FUNC |
BSD 2 | COUNT(DISTINCT …) 聚合的替代方案 | ||||
extra_window_functions | extra_window_functions |
PGDG | 1.0 | FUNC |
PostgreSQL | 额外的窗口函数 | ||||
first_last_agg | first_last_agg |
PIGSTY | 0.1.4 | FUNC |
PostgreSQL | first() 与 last() 聚合函数 | ||||
tdigest | tdigest |
PGDG | 1.4.1 | FUNC |
Apache-2.0 | tdigest 聚合函数 | ||||
aggs_for_vecs | aggs_for_vecs |
PIGSTY | 1.3.0 | FUNC |
MIT | 针对数组类型的聚合函数集合扩展 | ||||
aggs_for_arrays | aggs_for_arrays |
PIGSTY | 1.3.2 | FUNC |
MIT | 计算数组聚合统计值的函数包 | ||||
arraymath | pg_arraymath |
PIGSTY | 1.1 | FUNC |
MIT | 数组逐元素数学运算符包 | ||||
quantile | quantile |
PIGSTY | 1.1.7 | FUNC |
BSD | Quantile聚合函数 | ||||
lower_quantile | lower_quantile |
PIGSTY | 1.0.0 | FUNC |
BSD-2 | Lower Quantile 聚合函数 | ||||
pg_idkit | pg_idkit |
PIGSTY | 0.2.4 | FUNC |
Apache-2.0 | 生成各式各样的唯一标识符:UUIDv6, ULID, KSUID | ||||
pg_uuidv7 | pg_uuidv7 |
PGDG | 1.6 | FUNC |
MPLv2 | UUIDv7 支持 | ||||
permuteseq | permuteseq |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 伪随机数ID置换生成器 | ||||
pg_hashids | pg_hashids |
PIGSTY | 1.3 | FUNC |
MIT | 加盐将整型ID转为短字符串ID | ||||
sequential_uuids | sequential_uuids |
PGDG | 1.0.2 | FUNC |
MIT | 生成连续生成的UUID | ||||
pg_math | pg_math |
PIGSTY | 1.0 | FUNC |
GPLv3 | 使用GSL库的数学统计函数 | ||||
random | pg_random |
PIGSTY | 2.0.0-dev | FUNC |
PostgreSQL | 随机数生成器 | ||||
base36 | pg_base36 |
PIGSTY | 1.0.0 | FUNC |
MIT | Base36编码解码扩展 | ||||
base62 | pg_base62 |
PIGSTY | 0.0.1 | FUNC |
MIT | Base62编码解码扩展 | ||||
pg_base58 | pg_base58 |
PIGSTY | 0.0.1 | FUNC |
MIT | Base58 编码/解码函数 | ||||
floatvec | floatvec |
PIGSTY | 1.0.1 | FUNC |
MIT | 数组类型数学运算扩展 | ||||
financial | pg_financial |
PIGSTY | 1.0.1 | FUNC |
PostgreSQL | 金融领域聚合函数 | ||||
pgjwt | pgjwt |
PIGSTY | 0.2.0 | FUNC |
MIT | JSON Web Token API 的PG实现 (supabase) | ||||
pg_hashlib | pg_hashlib |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 稳定哈希函数包 | ||||
shacrypt | shacrypt |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 实现SHA256-CRYPT与SHA512-CRYPT密钥加密算法 | ||||
cryptint | cryptint |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 加密INT与BIGINT类型 | ||||
pguecc | pg_ecdsa |
PIGSTY | 1.0 | FUNC |
BSD-2 | PostgreSQL的uECC绑定,椭圆曲线加解密函数包 | ||||
pgpcre | pgpcre |
PIGSTY | 1 | FUNC |
PostgreSQL | PCRE/Perl风格的正则表达式支持 | ||||
icu_ext | icu_ext |
PIGSTY | 1.9 | FUNC |
PostgreSQL | 访问ICU库提供的函数 | ||||
pgqr | pgqr |
PIGSTY | 1.0 | FUNC |
BSD-3 | 从数据库中直接生成QR二维码 | ||||
envvar | envvar |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 获取环境变量的函数 | ||||
pg_protobuf | pg_protobuf |
PIGSTY | 1.0 | FUNC |
MIT | 提供Protobuf函数支持 | ||||
url_encode | url_encode |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 提供URL编码解码函数 | ||||
refint | refint |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 实现引用完整性的函数 | ||||
autoinc | autoinc |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 用于自动递增字段的函数 | ||||
insert_username | insert_username |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 用于跟踪谁更改了表的函数 | ||||
moddatetime | moddatetime |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 跟踪最后修改时间 | ||||
tsm_system_time | tsm_system_time |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 接受毫秒数限制的 TABLESAMPLE 方法 | ||||
dict_xsyn | dict_xsyn |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 用于扩展同义词处理的文本搜索字典模板 | ||||
tsm_system_rows | tsm_system_rows |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 接受行数限制的 TABLESAMPLE 方法 | ||||
tcn | tcn |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 用触发器通知变更 | ||||
uuid-ossp | uuid-ossp |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 生成通用唯一标识符(UUIDs) | ||||
btree_gist | btree_gist |
CONTRIB | 1.7 | FUNC |
PostgreSQL | 用GiST索引常见数据类型 | ||||
btree_gin | btree_gin |
CONTRIB | 1.3 | FUNC |
PostgreSQL | 用GIN索引常见数据类型 | ||||
intarray | intarray |
CONTRIB | 1.5 | FUNC |
PostgreSQL | 1维整数数组的额外函数、运算符和索引支持 | ||||
intagg | intagg |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 整数聚合器和枚举器(过时) | ||||
dict_int | dict_int |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 用于整数的文本搜索字典模板 | ||||
unaccent | unaccent |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 删除重音的文本搜索字典 | ||||
pg_repack | pg_repack |
PGDG | 1.5.0 | ADMIN |
BSD 3 | 在线垃圾清理与表膨胀治理 | ||||
pg_squeeze | pg_squeeze |
PGDG | 1.7 | ADMIN |
BSD 2 | 从关系中删除未使用空间 | ||||
pg_dirtyread | pg_dirtyread |
PIGSTY | 2 | ADMIN |
BSD 3 | 从表中读取尚未垃圾回收的行 | ||||
pgfincore | pgfincore |
PGDG | 1.3.1 | ADMIN |
BSD 3 | 检查和管理操作系统缓冲区缓存 | ||||
pgdd | pgdd |
PIGSTY | 0.5.2 | ADMIN |
MIT | 提供通过标准SQL查询数据库目录集簇的能力 | ||||
ddlx | ddlx |
PGDG | 0.27 | ADMIN |
PostgreSQL | 提取数据库对象的DDL | ||||
prioritize | pg_prioritize |
PGDG | 1.0 | ADMIN |
PostgreSQL | 获取和设置 PostgreSQL 后端的优先级 | ||||
pg_checksums | pg_checksums |
PGDG | 1.1 | ADMIN |
BSD 2 | 在离线模式下激活/启用/禁用数据库集群的校验和功能 | ||||
pg_readonly | pg_readonly |
PGDG | 1.0.0 | ADMIN |
PostgreSQL | 将集群设置为只读 | ||||
safeupdate | safeupdate |
PGDG | 1.4 | ADMIN |
ISC | 强制在 UPDATE 和 DELETE 时提供 Where 条件 | ||||
pg_permissions | pg_permissions |
PGDG | 1.3 | ADMIN |
BSD 2 | 查看对象权限并将其与期望状态进行比较 | ||||
pgautofailover | pgautofailover |
PGDG | 2.1 | ADMIN |
PostgreSQL | PG 自动故障迁移 | ||||
pg_catcheck | pg_catcheck |
PGDG | 1.4.0 | ADMIN |
BSD 3 | 用于诊断系统目录是否损坏的工具 | ||||
pre_prepare | preprepare |
PIGSTY | 0.4 | ADMIN |
PostgreSQL | 在服务端预先准备好PreparedStatement备用 | ||||
pgcozy | pgcozy |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 根据先前的pg_buffercache快照预热内存缓冲区 | ||||
pg_orphaned | pg_orphaned |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 处理孤儿文件的扩展插件 | ||||
pg_crash | pg_crash |
PIGSTY | 1.0 | ADMIN |
BSD-3 | 向数据库进程随机发送信号模拟故障 | ||||
pg_cheat_funcs | pg_cheat_funcs |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 一些超级实用的作弊函数 | ||||
pg_savior | pg_savior |
PIGSTY | 0.0.1 | ADMIN |
Apache-2.0 | 阻止不带条件的全表更新以避免意外事故 | ||||
table_log | table_log |
PIGSTY | 0.6.1 | ADMIN |
PostgreSQL | 记录某张表的修改日志并做表/行级时间点恢复 | ||||
pg_fio | pg_fio |
PIGSTY | 1.0 | ADMIN |
BSD-3 | PostgreSQL文件IO函数包 | ||||
pgpool_adm | pgpool |
PGDG | 1.5 | ADMIN |
PostgreSQL | PGPool 管理函数 | ||||
pgpool_recovery | pgpool |
PGDG | 1.4 | ADMIN |
PostgreSQL | PGPool辅助扩展,从v4.3提供的恢复函数 | ||||
pgpool_regclass | pgpool |
PGDG | 1.0 | ADMIN |
PostgreSQL | PGPool辅助扩展,RegClass替代 | ||||
pgagent | pgagent |
PGDG | 4.2 | ADMIN |
PostgreSQL | PostgreSQL任务调度工具,与PGADMIN配合使用 | ||||
vacuumlo | vacuumlo |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 从PostgreSQL中移除孤儿数据库文件的实用命令行工具 | ||||
pg_prewarm | pg_prewarm |
CONTRIB | 1.2 | ADMIN |
PostgreSQL | 预热关系数据 | ||||
oid2name | oid2name |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 用于检查PG文件结构的实用命令行工具 | ||||
lo | lo |
CONTRIB | 1.1 | ADMIN |
PostgreSQL | 大对象维护 | ||||
basic_archive | basic_archive |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 归档模块样例 | ||||
basebackup_to_shell | basebackup_to_shell |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 添加一种备份到Shell终端到基础备份方式 | ||||
old_snapshot | old_snapshot |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 支持 old_snapshot_threshold 的实用程序 | ||||
adminpack | adminpack |
CONTRIB | 2.1 | ADMIN |
PostgreSQL | PostgreSQL 管理函数集合 | ||||
amcheck | amcheck |
CONTRIB | 1.3 | ADMIN |
PostgreSQL | 校验关系完整性 | ||||
pg_surgery | pg_surgery |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 对损坏的关系进行手术 | ||||
pg_profile | pg_profile |
PGDG | 4.7 | STAT |
BSD 2 | PostgreSQL 数据库负载记录与AWR报表工具 | ||||
pg_show_plans | pg_show_plans |
PGDG | 2.1 | STAT |
PostgreSQL | 打印所有当前正在运行查询的执行计划 | ||||
pg_stat_kcache | pg_stat_kcache |
PGDG | 2.3.0 | STAT |
BSD 3 | 内核统计信息收集 | ||||
pg_stat_monitor | pg_stat_monitor |
PGDG | 2.1 | STAT |
BSD 3 | 提供查询聚合统计、客户端信息、执行计划详细信息和直方图 | ||||
pg_qualstats | pg_qualstats |
PGDG | 2.1.1 | STAT |
BSD 3 | 收集有关 quals 的统计信息的扩展 | ||||
pg_store_plans | pg_store_plans |
PGDG | 1.8 | STAT |
BSD 3 | 跟踪所有执行的 SQL 语句的计划统计信息 | ||||
pg_track_settings | pg_track_settings |
PGDG | 2.1.2 | STAT |
PostgreSQL | 跟踪设置更改 | ||||
pg_wait_sampling | pg_wait_sampling |
PGDG | 1.1 | STAT |
PostgreSQL | 基于采样的等待事件统计 | ||||
system_stats | system_stats |
PGDG | 3.0 | STAT |
PostgreSQL | PostgreSQL 的系统统计函数 | ||||
meta | pg_meta |
PIGSTY | 0.4.0 | STAT |
BSD-2 | 标准化,更友好的PostgreSQL系统目录视图 | ||||
pgnodemx | pgnodemx |
PIGSTY | 1.7 | STAT |
Apache-2.0 | 使用SQL查询获取操作系统指标 | ||||
pg_proctab | pgnodemx |
PIGSTY | 0.0.10-compat | STAT |
BSD 3 | 通过SQL接口访问操作系统进程表 | ||||
pg_sqlog | pg_sqlog |
PIGSTY | 1.6 | STAT |
BSD 3 | 提供访问PostgreSQL日志的SQL接口 | ||||
bgw_replstatus | bgw_replstatus |
PGDG | 1.0.6 | STAT |
PostgreSQL | 用于汇报本机主从状态的后台工作进程 | ||||
pgmeminfo | pgmeminfo |
PGDG | 1.0 | STAT |
MIT | 显示内存使用情况 | ||||
toastinfo | toastinfo |
PIGSTY | 1 | STAT |
PostgreSQL | 显示TOAST字段的详细信息 | ||||
explain_ui | pg_explain_ui |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 快速跳转至PEV查阅可视化执行计划 | ||||
pg_relusage | pg_relusage |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 打印查询引用的表与列 | ||||
pg_mon | pg_mon |
PIGSTY | 1.0 | STAT |
MIT | 查看正在执行中的查询状态 | ||||
pg_statviz | pg_statviz |
PGDG | 0.6 | STAT |
BSD 3 | 可视化统计指标并分析时间序列 | ||||
pgexporter_ext | pgexporter_ext |
PGDG | 0.2.3 | STAT |
BSD 3 | PGExporter的额外指标支持 | ||||
pg_top | pg_top |
PGDG | 3.7.0 | STAT |
BSD 3 | 像unix top命令一样监控PG进程 | ||||
pagevis | pagevis |
PIGSTY | 0.1 | STAT |
MIT | 使用ASCII字符可视化数据库物理页面布局 | ||||
powa | powa |
PGDG | 4.2.2 | STAT |
PostgreSQL | PostgreSQL 工作负载分析器-核心 | ||||
pageinspect | pageinspect |
CONTRIB | 1.12 | STAT |
PostgreSQL | 检查数据库页面二进制内容 | ||||
pgrowlocks | pgrowlocks |
CONTRIB | 1.2 | STAT |
PostgreSQL | 显示行级锁信息 | ||||
sslinfo | sslinfo |
CONTRIB | 1.2 | STAT |
PostgreSQL | 关于 SSL 证书的信息 | ||||
pg_buffercache | pg_buffercache |
CONTRIB | 1.4 | STAT |
PostgreSQL | 检查共享缓冲区缓存 | ||||
pg_walinspect | pg_walinspect |
CONTRIB | 1.1 | STAT |
PostgreSQL | 用于检查 PostgreSQL WAL 日志内容的函数 | ||||
pg_freespacemap | pg_freespacemap |
CONTRIB | 1.2 | STAT |
PostgreSQL | 检查自由空间映射的内容(FSM) | ||||
pg_visibility | pg_visibility |
CONTRIB | 1.2 | STAT |
PostgreSQL | 检查可见性图(VM)和页面级可见性信息 | ||||
pgstattuple | pgstattuple |
CONTRIB | 1.5 | STAT |
PostgreSQL | 显示元组级统计信息 | ||||
auto_explain | auto_explain |
CONTRIB | 16.3 | STAT |
PostgreSQL | 提供一种自动记录执行计划的手段 | ||||
pg_stat_statements | pg_stat_statements |
CONTRIB | 1.10 | STAT |
PostgreSQL | 跟踪所有执行的 SQL 语句的计划和执行统计信息 | ||||
passwordcheck_cracklib | passwordcheck |
PGDG | 3.0.0 | SEC |
LGPLv2 | 使用cracklib加固PG用户密码 | ||||
supautils | supautils |
PIGSTY | 2.5.0 | SEC |
Apache-2.0 | 用于在云环境中确保数据库集群的安全 | ||||
pgsodium | pgsodium |
PIGSTY | 3.1.9 | SEC |
BSD 3 | 表数据加密存储 TDE | ||||
supabase_vault | pg_vault |
PIGSTY | 0.2.8 | SEC |
Apache-2.0 | 在 Vault 中存储加密凭证的扩展 (supabase) | ||||
anon | anonymizer |
PGDG | 1.3.2 | SEC |
PostgreSQL | 数据匿名化处理工具 | ||||
pg_tde | pg_tde |
PIGSTY | 1.0 | SEC |
MIT | 试点性质的加密存储引擎 | ||||
pgsmcrypto | pgsmcrypto |
PIGSTY | 0.1.0 | SEC |
MIT | 为PostgreSQL提供商密算法支持:SM2,SM3,SM4 | ||||
pgaudit | pgaudit |
PGDG | 16.0 | SEC |
PostgreSQL | 提供审计功能 | ||||
pgauditlogtofile | pgauditlogtofile |
PGDG | 1.6 | SEC |
PostgreSQL | pgAudit 子扩展,将审计日志写入单独的文件中 | ||||
pg_auth_mon | pg_auth_mon |
PGDG | 1.1 | SEC |
MIT | 监控每个用户的连接尝试 | ||||
credcheck | credcheck |
PGDG | 2.7.0 | SEC |
MIT | 明文凭证检查器 | ||||
pgcryptokey | pgcryptokey |
PGDG | 1.0 | SEC |
PostgreSQL | PG密钥管理 | ||||
pg_jobmon | pg_jobmon |
PGDG | 1.4.1 | SEC |
PostgreSQL | 记录和监控函数 | ||||
logerrors | logerrors |
PGDG | 2.1 | SEC |
BSD 3 | 用于收集日志文件中消息统计信息的函数 | ||||
login_hook | login_hook |
PGDG | 1.6 | SEC |
GPLv3 | 在用户登陆时执行login_hook.login()函数 | ||||
set_user | set_user |
PGDG | 4.1.0 | SEC |
PostgreSQL | 增加了日志记录的 SET ROLE | ||||
pg_snakeoil | pg_snakeoil |
PIGSTY | 1 | SEC |
PostgreSQL | PostgreSQL动态链接库反病毒功能 | ||||
pgextwlist | pgextwlist |
PIGSTY | 1.17 | SEC |
PostgreSQL | PostgreSQL扩展白名单功能 | ||||
pg_auditor | pg_auditor |
PIGSTY | 0.2 | SEC |
BSD-3 | 审计数据变更并提供闪回能力 | ||||
sslutils | sslutils |
PIGSTY | 1.3 | SEC |
PostgreSQL | 使用SQL管理SSL证书 | ||||
noset | noset |
PIGSTY | 0.3.0 | SEC |
AGPLv3 | 阻止非超级用户使用SET/RESET设置变量 | ||||
sepgsql | sepgsql |
CONTRIB | 16.3 | SEC |
PostgreSQL | 基于SELinux标签的强制访问控制 | ||||
auth_delay | auth_delay |
CONTRIB | 16.3 | SEC |
PostgreSQL | 在返回认证失败前暂停一会,避免爆破 | ||||
pgcrypto | pgcrypto |
CONTRIB | 1.3 | SEC |
PostgreSQL | 实用加解密函数 | ||||
passwordcheck | passwordcheck |
CONTRIB | 16.3 | SEC |
PostgreSQL | 用于强制拒绝修改弱密码的扩展 | ||||
wrappers | wrappers |
PIGSTY | 0.4.3 | FDW |
Apache-2.0 | Supabase提供的外部数据源包装器捆绑包 | ||||
multicorn | multicorn |
PGDG | 3.0 | FDW |
PostgreSQL | 用Python编写自定义的外部数据源包装器 | ||||
odbc_fdw | odbc_fdw |
PGDG | 0.5.1 | FDW |
PostgreSQL | 访问ODBC可访问的任何外部数据源 | ||||
jdbc_fdw | jdbc_fdw |
PGDG | 1.2 | FDW |
PostgreSQL | 访问JDBC可访问的任何外部数据源 | ||||
mysql_fdw | mysql_fdw |
PGDG | 1.2 | FDW |
BSD 3 | MySQL外部数据包装器 | ||||
oracle_fdw | oracle_fdw |
PGDG | 1.2 | FDW |
PostgreSQL | 提供对Oracle的外部数据源包装器 | ||||
tds_fdw | tds_fdw |
PGDG | 2.0.4 | FDW |
PostgreSQL | TDS 数据库(Sybase/SQL Server)外部数据包装器 | ||||
db2_fdw | db2_fdw |
PGDG | 6.0.1 | FDW |
PostgreSQL | 提供对DB2的外部数据源包装器 | ||||
sqlite_fdw | sqlite_fdw |
PGDG | 1.1 | FDW |
PostgreSQL | SQLite 外部数据包装器 | ||||
pgbouncer_fdw | pgbouncer_fdw |
PGDG | 1.2.0 | FDW |
PostgreSQL | 用SQL查询pgbouncer统计信息,并执行pgbouncer命令 | ||||
mongo_fdw | mongo_fdw |
PGDG | 1.1 | FDW |
LGPLv3 | MongoDB 外部数据包装器 | ||||
redis_fdw | redis_fdw |
PIGSTY | 1.0 | FDW |
PostgreSQL | 查询外部Redis数据源 | ||||
redis | pg_redis_pubsub |
PIGSTY | 0.0.1 | FDW |
MIT | 从PG向Redis发送Pub/Sub消息 | ||||
kafka_fdw | kafka_fdw |
PIGSTY | 0.0.3 | FDW |
PostgreSQL | Kafka外部数据源包装器 | ||||
hdfs_fdw | hdfs_fdw |
PGDG | 2.0.5 | FDW |
BSD 3 | hdfs 外部数据包装器 | ||||
firebird_fdw | firebird_fdw |
PIGSTY | 1.4.0 | FDW |
PostgreSQL | Firebird外部数据源包装器 | ||||
aws_s3 | aws_s3 |
PIGSTY | 0.0.1 | FDW |
Apache-2.0 | 从S3导入导出数据的外部数据源包装器 | ||||
log_fdw | log_fdw |
PIGSTY | 1.4 | FDW |
Apache-2.0 | 访问PostgreSQL日志文件的FDW | ||||
dblink | dblink |
CONTRIB | 1.2 | FDW |
PostgreSQL | 从数据库内连接到其他 PostgreSQL 数据库 | ||||
file_fdw | file_fdw |
CONTRIB | 1.0 | FDW |
PostgreSQL | 访问外部文件的外部数据包装器 | ||||
postgres_fdw | postgres_fdw |
CONTRIB | 1.1 | FDW |
PostgreSQL | 用于远程 PostgreSQL 服务器的外部数据包装器 | ||||
orafce | orafce |
PGDG | 4.13 | SIM |
BSD 0 | 模拟 Oracle RDBMS 的一部分函数和包的函数和运算符 | ||||
pgtt | pgtt |
PGDG | 4.0.0 | SIM |
ISC | 类似Oracle的全局临时表功能 | ||||
session_variable | session_variable |
PIGSTY | 3.4 | SIM |
GPLv3 | Oracle兼容的会话变量/常量操作函数 | ||||
pg_statement_rollback | pg_statement_rollback |
PGDG | 1.4 | SIM |
ISC | 在服务端提供类似Oracle/DB2的语句级回滚能力 | ||||
pg_dbms_metadata | pg_dbms_metadata |
PGDG | 1.0.0 | SIM |
PostgreSQL | 添加 Oracle DBMS_METADATA 兼容性支持的扩展 | ||||
pg_dbms_lock | pg_dbms_lock |
PGDG | 1.0.0 | SIM |
PostgreSQL | 为PG添加对 Oracle DBMS_LOCK 的完整兼容性支持 | ||||
pg_dbms_job | pg_dbms_job |
PGDG | 1.5.0 | SIM |
PostgreSQL | 添加 Oracle DBMS_JOB 兼容性支持的扩展 | ||||
babelfishpg_common | babelfishpg_common |
WILTON | 3.3.3 | SIM |
Apache-2.0 | SQL Server 数据类型兼容扩展 | ||||
babelfishpg_tsql | babelfishpg_tsql |
WILTON | 3.3.1 | SIM |
Apache-2.0 | SQL Server SQL语法兼容性扩展 | ||||
babelfishpg_tds | babelfishpg_tds |
WILTON | 1.0.0 | SIM |
Apache-2.0 | SQL Server TDS线缆协议兼容扩展 | ||||
babelfishpg_money | babelfishpg_money |
WILTON | 1.1.0 | SIM |
Apache-2.0 | SQL Server 货币数据类型兼容扩展 | ||||
pgmemcache | pgmemcache |
PGDG | 2.3.0 | SIM |
MIT | 为PG提供memcached兼容接口 | ||||
pglogical | pglogical |
PGDG | 2.4.4 | ETL |
PostgreSQL | PostgreSQL逻辑复制:三方扩展实现 | ||||
pglogical_origin | pglogical |
PGDG | 1.0.0 | ETL |
PostgreSQL | 用于从 Postgres 9.4 升级时的兼容性虚拟扩展 | ||||
pglogical_ticker | pglogical |
PGDG | 1.4 | ETL |
PostgreSQL | pglogical复制延迟的精确视图 | ||||
pgl_ddl_deploy | pgl_ddl_deploy |
PGDG | 2.2 | ETL |
MIT | 使用 pglogical 执行自动 DDL 部署 | ||||
pg_failover_slots | pg_failover_slots |
PIGSTY | 1.0.1 | ETL |
PostgreSQL | 在Failover过程中保留复制槽 | ||||
wal2json | wal2json |
PGDG | 2.5.3 | ETL |
BSD 3 | 用逻辑解码捕获 JSON 格式的 CDC 变更 | ||||
wal2mongo | wal2mongo |
PIGSTY | 1.0.7 | ETL |
Apache-2.0 | 使用逻辑解码捕获MongoDB JSON格式的CDC变更 | ||||
decoderbufs | decoderbufs |
PGDG | 0.1.0 | ETL |
MIT | 将WAL逻辑解码为ProtocolBuffer协议的消息 | ||||
decoder_raw | decoder_raw |
PIGSTY | 1.0 | ETL |
PostgreSQL | 逻辑复制解码输出插件:RAW SQL格式 | ||||
test_decoding | test_decoding |
CONTRIB | 16.3 | ETL |
PostgreSQL | 基于SQL的WAL逻辑解码样例 | ||||
mimeo | mimeo |
PIGSTY | 1.5.1 | ETL |
PostgreSQL | 在PostgreSQL实例间进行表级复制 | ||||
repmgr | repmgr |
PGDG | 5.4 | ETL |
GPLv3 | PostgreSQL复制管理组件 | ||||
pgcopydb | pgcopydb |
PGDG | 0.15 | ETL |
PostgreSQL | 将一个PostgreSQL数据库拷贝至目标服务器 | ||||
pgloader | pgloader |
PGDG | 3.6.10 | ETL |
PostgreSQL | 从MySQL/SQLite/MSSQL一键迁移至PostgreSQL! | ||||
pg_fact_loader | pg_fact_loader |
PGDG | 2.0 | ETL |
MIT | 在 Postgres 中构建事实表 | ||||
pg_bulkload | pg_bulkload |
PGDG | 3.1.21 | ETL |
BSD 3 | 向 PostgreSQL 中高速加载数据 | ||||
pg_comparator | pg_comparator |
PGDG | 2.2.5 | ETL |
BSD 3 | 比对两个PostgreSQL数据库内容的差异 | ||||
pgimportdoc | pgimportdoc |
PGDG | 0.1.4 | ETL |
BSD 2 | 将XML,JSON,BYTEA文档导入PG数据库 | ||||
pgexportdoc | pgexportdoc |
PGDG | 0.1.4 | ETL |
BSD 2 | 从PG中导出XML,JSON,BYTEA文档 |
2.1 - 扩展元数据
每个扩展都有一些元数据属性,以下是这些属性的说明
id
扩展标识,由 Pigsty 唯一分配给每个扩展的整型标识符,用于内部排序。
name
扩展名,扩展在 PostgreSQL 扩展系统目录中的名称,用于 CREATE EXTESION
时引用。
扩展一般会带有同名的 <name>.control
, <name>*.so
,以及 <name>*.sql
文件。
alias
扩展别名,由 Pigsty 为每个逻辑扩展分配的唯一名称,通常与 扩展名 name
保持一致。
但存在一些特例,比如安装一个扩展 RPM 包如果引入多个 Extension,那么这些 Extension 会共享一个别名,例如 postgis
version
扩展默认版本,通常是扩展的最新版本。在一些特殊情况下,RPM 与 Debian 中可用的扩展版本可能略微有所不同。
category
扩展分类,用于区分扩展的功能类型,例如 gis
,time
,rag
,fts
,olap
,feat
,lang
,type
,func
,admin
,stat
,sec
,fdw
,sim
,etl
等。
tags
一些标签,用于描述扩展的特性
repo
扩展的来源仓库,CONTRIB
代表这是一个 PostgreSQL 自带扩展,PGDG
代表这是一个 PGDG 第一方扩展,PIGSTY
代表这是一个 Pigsty 第三方扩展。
lang
扩展使用的编程语言,通常为 C
,也有一些 C++
或 Rust
编写的扩展。也有纯 SQL 与纯数据组成的扩展。
need_load
带有 Load
标记,意味着这个扩展使用了 PostgreSQL Hook,需要动态加载,并重启 PostgreSQL 生效。
只有少量扩展需要动态加载,大部分扩展都是静态加载的。
need_ddl
带有 DDL
标记,意味着这个扩展需要执行 DDL 语句:CREATE EXTENSION
。
绝大多数扩展都需要执行 CREATE EXTENSION
DDL 语句完成创建,但也有一些特例,例如 pg_stat_statements
,wal2json
等。
need_dbsu
安装此扩展是否需要超级用户权限?或者说,这个扩展是否被“信任” —— 只在数据库内部提供功能。
少部分扩展因为只在数据库内部提供功能,因此不需要超级用户权限就能安装,任何持有 CREATE
权限的用户都可以安装受信任的扩展。
relocatable
扩展是否可以被重定位?即是否可以被安装到其他 Schema 中?大部分扩展都是可以被重定位的,但也有一些特例,这些扩展会显式指定自己使用的扩展名。
schemas
如果扩展是可重定位的,那么它可以被安装到指定的 Schema 中,这个属性指定了扩展的默认 Schema。
PostgreSQL 默认只允许扩展使用一个 Schema,但一些扩展并不遵循这个规则,例如 citus
与 timescaledb
等。
pg_ver
扩展支持的 PostgreSQL 版本,默认只考虑支持声明周期内的版本,即 12 - 16 。
requires
此扩展依赖的其他扩展,如果有的话。一个扩展可能同时依赖多个其他扩展,这些依赖关系通常在扩展的 control
文件中的 requires
字段里声明。
安装扩展时,可以通过 CREATE EXTENSION xxx CASCADE
语句自动安装依赖的扩展。
pkg
扩展软件包(RPM/DEB)名称,这里使用 $v
来替代具体的 PostgreSQL 大版本号。
pkg_ver
扩展软件包(RPM/DEB)的版本号,通常 RPM / DEB 包的版本与扩展本身的版本(version,从系统视图中得到)是一致的。 但依然存在极个别特例,软件包的版本与扩展本身的版本是不一致,甚至是独立演进管理的。
pkg_deps
扩展软件包(RPM/DEB)的依赖,不同于扩展本身的依赖(requires
),这里是扩展 RPM/DEB 包的特殊依赖。
url
扩展的官方网站或者源代码仓库地址。
license
扩展使用的开源许可证,通常是 PostgreSQL
,MIT
,Apache
,GPL
等。
en_desc
扩展的英文描述,用于描述扩展的功能与用途。
zh_desc
扩展的中文描述,用于描述扩展的功能与用途。
comment
一些额外的注释,用于描述扩展的特性或者注意事项。
2.2 - RPM 扩展清单
Pigsty 在 EL 系统中总共有 338 个可用 RPM 扩展,其中有 19 个RPM独占扩展,缺少 7 个DEB独占扩展。 在EL可用扩展中,PG 自带了 70 个 Contrib扩展,PGDG YUM 仓库提供了 134 个,Pigsty 提供了 130 个。 当前首要大版本 PostgreSQL 16 支持了 333 个扩展,而 PostgreSQL 17 支持了其中的 297 个。
扩展名(官网) | 标准名(简介) | 包名 | 仓库 | 版本 | 类目 | 许可证 | PG大版本支持 | LOAD |
DDL |
DBSU |
RELOC |
简介 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timescaledb | timescaledb |
timescaledb-2-postgresql-$v* |
PGDG | 2.17.0 | TIME |
Timescale | 17 ,16 ,15 ,14 ,13 ,12 |
时序数据库扩展插件 | |||||
timeseries | pg_timeseries |
pg_timeseries_$v |
PIGSTY | 0.1.6 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Tembo时序数据API封装 | |||||
periods | periods |
periods_$v* |
PGDG | 1.2 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
为 PERIODs 和 SYSTEM VERSIONING 提供标准 SQL 功能 | |||||
temporal_tables | temporal_tables |
temporal_tables_$v* |
PIGSTY | 1.2.2 | TIME |
BSD 2 | 16 ,15 ,14 ,13 ,12 |
时态表功能支持 | |||||
emaj | emaj |
e-maj_$v* |
PGDG | 4.5.0 | TIME |
GPLv3 | 16 ,15 ,14 ,13 ,12 |
让数据库的子集具有细粒度日志和时间旅行功能 | |||||
table_version | table_version |
table_version_$v* |
PGDG | 1.10.3 | TIME |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 版本控制表扩展 | |||||
pg_cron | pg_cron |
pg_cron_$v* |
PGDG | 1.6 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
定时任务调度器 | |||||
pg_later | pg_later |
pg_later_$v |
PIGSTY | 0.1.1 | TIME |
PostgreSQL | 16 ,15 ,14 ,13 |
执行查询,并在稍后异步获取查询结果 | |||||
pg_background | pg_background |
pg_background_$v* |
PGDG | 1.0 | TIME |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
在后台运行 SQL 查询 | |||||
pg_timetable | pg_timetable |
pg_timetable |
PIGSTY | 5.9.0 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL高级任务调度器 | |||||
postgis | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 几何和地理空间扩展 | |||||
postgis_topology | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 拓扑空间类型和函数 | |||||
postgis_raster | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 光栅类型和函数 | |||||
postgis_sfcgal | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS SFCGAL 函数 | |||||
postgis_tiger_geocoder | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS tiger 地理编码器和反向地理编码器 | |||||
address_standardizer | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
地址标准化函数。 | |||||
address_standardizer_data_us | postgis |
postgis34_$v* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
地址标准化函数:美国数据集示例 | |||||
pgrouting | pgrouting |
pgrouting_$v* |
PGDG | 3.6.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
提供寻路能力 | |||||
pointcloud | pointcloud |
pointcloud_$v* |
PIGSTY | 1.2.5 | GIS |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供激光雷达点云数据类型支持 | |||||
pointcloud_postgis | pointcloud |
pointcloud_$v* |
PGDG | 1.2.5 | GIS |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
将激光雷达点云与PostGIS几何类型相集成 | |||||
h3 | pg_h3 |
h3-pg_$v* |
PGDG | 4.1.3 | GIS |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
H3六边形层级索引支持 | |||||
h3_postgis | pg_h3 |
h3-pg_$v* |
PGDG | 4.1.3 | GIS |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
H3与PostGIS集成的扩展插件 | |||||
q3c | q3c |
q3c_$v* |
PIGSTY | 2.0.1 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
Q3C天空索引插件 | |||||
ogr_fdw | ogr_fdw |
ogr_fdw_$v* |
PGDG | 1.1 | GIS |
MIT | 16 ,15 ,14 ,13 ,12 |
GIS 数据外部数据源包装器 | |||||
geoip | geoip |
geoip_$v* |
PGDG | 0.3.0 | GIS |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
IP 地理位置扩展(围绕 MaxMind GeoLite 数据集的包装器) | |||||
pg_polyline | pg_polyline |
pg_polyline_$v |
PIGSTY | 0.0.0 | GIS |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Google快速Polyline编码解码扩展 | |||||
pg_geohash | pg_geohash |
pg_geohash_$v* |
PIGSTY | 1.0 | GIS |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用GeoHash处理空间坐标的函数包 | |||||
earthdistance | earthdistance |
postgresql$v-contrib |
CONTRIB | 1.1 | GIS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
计算地球表面上的大圆距离 | |||||
vector | pgvector |
pgvector_$v* |
PGDG | 0.7.4 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
向量数据类型和 ivfflat / hnsw 访问方法 | |||||
vectorscale | pgvectorscale |
pgvectorscale_$v |
PIGSTY | 0.4.0 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 |
使用DiskANN算法对向量进行高效索引 | |||||
vectorize | pg_vectorize |
pg_vectorize_$v |
PIGSTY | 0.18.3 | RAG |
PostgreSQL | 16 ,15 ,14 |
在PostgreSQL中封装RAG向量检索服务 | |||||
pg_similarity | pg_similarity |
pg_similarity_$v* |
PIGSTY | 1.0 | RAG |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供17种距离度量函数 | |||||
smlar | smlar |
smlar_$v* |
PIGSTY | 1.0 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 |
高效的相似度搜索函数 | |||||
pg_summarize | pg_summarize |
pg_summarize_$v |
PIGSTY | 0.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用LLM对文本字段进行总结 | |||||
pg_tiktoken | pg_tiktoken |
pg_tiktoken_$v |
PIGSTY | 0.0.1 | RAG |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
在PostgreSQL中计算OpenAI使用的Token数 | |||||
pgml | pgml |
pgml_$v |
PIGSTY | 2.9.3 | RAG |
MIT | 16 ,15 ,14 |
PostgresML:用SQL运行机器学习算法并训练模型 | |||||
pg4ml | pg4ml |
pg4ml_$v |
PIGSTY | 2.0 | RAG |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
PG4ML是一个机器学习框架 | |||||
pg_search | pg_search |
pg_search_$v |
PIGSTY | 0.11.1 | FTS |
AGPLv3 | 17 ,16 ,15 ,14 |
ParadeDB BM25算法全文检索插件,ES全文检索 | |||||
pg_bigm | pg_bigm |
pg_bigm_$v* |
PGDG | 1.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于二字组的多语言全文检索扩展 | |||||
zhparser | zhparser |
zhparser_$v* |
PIGSTY | 2.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
中文分词,全文搜索解析器 | |||||
hunspell_cs_cz | hunspell_cs_cz |
hunspell_cs_cz_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell捷克语全文检索词典 | |||||
hunspell_de_de | hunspell_de_de |
hunspell_de_de_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell德语全文检索词典 | |||||
hunspell_en_us | hunspell_en_us |
hunspell_en_us_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell英语全文检索词典 | |||||
hunspell_fr | hunspell_fr |
hunspell_fr_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell法语全文检索词典 | |||||
hunspell_ne_np | hunspell_ne_np |
hunspell_ne_np_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell尼泊尔语全文检索词典 | |||||
hunspell_nl_nl | hunspell_nl_nl |
hunspell_nl_nl_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell荷兰语全文检索词典 | |||||
hunspell_nn_no | hunspell_nn_no |
hunspell_nn_no_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell挪威语全文检索词典 | |||||
hunspell_pt_pt | hunspell_pt_pt |
hunspell_pt_pt_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell葡萄牙语全文检索词典 | |||||
hunspell_ru_ru | hunspell_ru_ru |
hunspell_ru_ru_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell俄语全文检索词典 | |||||
hunspell_ru_ru_aot | hunspell_ru_ru_aot |
hunspell_ru_ru_aot_$v |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell俄语全文检索词典(来自AOT.ru小组) | |||||
fuzzystrmatch | fuzzystrmatch |
postgresql$v-contrib |
CONTRIB | 1.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
确定字符串之间的相似性和距离 | |||||
pg_trgm | pg_trgm |
postgresql$v-contrib |
CONTRIB | 1.6 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
文本相似度测量函数与模糊检索 | |||||
citus | citus |
citus_$v* |
PGDG | 12.1-1 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 ,12 |
Citus 分布式数据库 | |||||
citus_columnar | citus |
citus_$v* |
PGDG | 11.3-1 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 ,12 |
Citus 列式存储 | |||||
columnar | hydra |
hydra_$v* |
PIGSTY | 11.1-11 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 |
开源列式存储扩展 | |||||
pg_analytics | pg_analytics |
pg_analytics_$v |
PIGSTY | 0.2.1 | OLAP |
AGPLv3 | 17 ,16 ,15 ,14 |
由 DuckDB 驱动的数据分析引擎 | |||||
pg_duckdb | pg_duckdb |
pg_duckdb_$v* |
PIGSTY | 0.0.1 | OLAP |
MIT | 17 ,16 ,15 |
在PostgreSQL中的嵌入式DuckDB扩展 | |||||
duckdb_fdw | duckdb_fdw |
duckdb_fdw_$v* |
PIGSTY | 1.0.0 | OLAP |
MIT | 16 ,15 ,14 ,13 ,12 |
DuckDB 外部数据源包装器 | |||||
pg_parquet | pg_parquet |
pg_parquet_$v |
PIGSTY | 0.1.0 | OLAP |
PostgreSQL | 17 ,16 |
在PostgreSQL与本地/S3中的Parquet文件复制数据 | |||||
pg_fkpart | pg_fkpart |
pg_fkpart_$v* |
PGDG | 1.7 | OLAP |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
按外键实用程序进行表分区的扩展 | |||||
pg_partman | pg_partman |
pg_partman_$v* |
PGDG | 5.1.0 | OLAP |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于按时间或 ID 管理分区表的扩展 | |||||
plproxy | plproxy |
plproxy_$v* |
PGDG | 2.11.0 | OLAP |
BSD 0 | 17 ,16 ,15 ,14 ,13 ,12 |
作为过程语言实现的数据库分区 | |||||
pg_strom | pg_strom |
pg_strom_$v* |
PGDG | 5.1 | OLAP |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用GPU与NVMe加速大数据处理 | |||||
tablefunc | tablefunc |
postgresql$v-contrib |
CONTRIB | 1.0 | OLAP |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
交叉表函数 | |||||
age | age |
apache-age_$v* |
PIGSTY | 1.5.0 | FEAT |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
Apache AGE,图数据库扩展 (Deb可用) | |||||
hll | hll |
hll_$v* |
PGDG | 2.18 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
hyperloglog 数据类型 | |||||
rum | rum |
rum_$v |
PGDG | 1.3 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
RUM 索引访问方法 | |||||
pg_graphql | pg_graphql |
pg_graphql_$v |
PIGSTY | 1.5.9 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 |
PG内的 GraphQL 支持 (RUST, supabase) | |||||
pg_jsonschema | pg_jsonschema |
pg_jsonschema_$v |
PIGSTY | 0.3.3 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
提供JSON Schema校验能力 | |||||
jsquery | jsquery |
jsquery_$v* |
PGDG | 1.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于内省 JSONB 数据类型的查询类型 | |||||
pg_hint_plan | pg_hint_plan |
pg_hint_plan_$v* |
PGDG | 1.6.1 | FEAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
添加强制指定执行计划的能力 | |||||
hypopg | hypopg |
hypopg_$v* |
PGDG | 1.4.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
假设索引,用于创建一个虚拟索引检验执行计划 | |||||
index_advisor | index_advisor |
index_advisor_$v |
PIGSTY | 0.2.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
查询索引建议器 | |||||
plan_filter | pg_plan_filter |
pg_plan_filter_$v* |
PIGSTY | 0.0.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用执行计划代价过滤阻止特定查询语句 | |||||
imgsmlr | imgsmlr |
imgsmlr_$v* |
PIGSTY | 1.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用Haar小波分析计算图片相似度 | |||||
pg_ivm | pg_ivm |
pg_ivm_$v* |
PGDG | 1.8 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
增量维护的物化视图 | |||||
pgmq | pgmq |
pgmq_$v |
PIGSTY | 1.4.4 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于Postgres实现类似AWS SQS/RSMQ的消息队列 | |||||
pgq | pgq |
pgq_$v* |
PGDG | 3.5.1 | FEAT |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
通用队列的PG实现 | |||||
pg_cardano | pg_cardano |
pg_cardano_$v |
PIGSTY | 1.0.2 | FEAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Cardano相关工具包:加密函数,地址编解码,区块链处理 | |||||
bloom | bloom |
postgresql$v-contrib |
CONTRIB | 1.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
bloom 索引-基于指纹的索引 | |||||
pg_tle | pg_tle |
pg_tle_$v* |
PIGSTY | 1.2.0 | LANG |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
AWS 可信语言扩展 | |||||
plv8 | plv8 |
plv8_$v* |
PIGSTY | 3.2.3 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/JavaScript (v8) 可信过程程序语言 | |||||
plluau | pllua |
pllua_$v* |
PGDG | 2.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言(不受信任的) | |||||
pllua | pllua |
pllua_$v* |
PGDG | 2.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言 | |||||
plprql | plprql |
plprql_$v |
PIGSTY | 0.1.0 | LANG |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
在PostgreSQL使用PRQL——管线式关系查询语言 | |||||
pldbgapi | pldebugger |
pldebugger_$v* |
PGDG | 1.1 | LANG |
Artistic | 17 ,16 ,15 ,14 ,13 ,12 |
用于调试 PL/pgSQL 函数的服务器端支持 | |||||
plpgsql_check | plpgsql_check |
plpgsql_check_$v* |
PGDG | 2.7 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
对 plpgsql 函数进行扩展检查 | |||||
plprofiler | plprofiler |
plprofiler_$v* |
PGDG | 4.2 | LANG |
Artistic | 17 ,16 ,15 ,14 ,13 ,12 |
剖析 PL/pgSQL 函数 | |||||
plsh | plsh |
plsh_$v* |
PGDG | 2 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
PL/sh 程序语言 | |||||
pljava | pljava |
pljava_$v* |
PGDG | 1.6.6 | LANG |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
Java 程序语言 | |||||
plr | plr |
plr_$v* |
PGDG | 8.4.6 | LANG |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库中加载R语言解释器并执行R脚本 | |||||
pgtap | pgtap |
pgtap_$v* |
PGDG | 1.3.1 | LANG |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PostgreSQL单元测试框架 | |||||
faker | faker |
postgresql_faker_$v* |
PGDG | 0.5.3 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
插入生成的测试伪造数据,Python库的包装 | |||||
dbt2 | dbt2 |
dbt2-pg$v-extensions* |
PGDG | 0.45.0 | LANG |
Artistic | 17 ,16 ,15 ,14 ,13 ,12 |
OSDL-DBT-2 测试组件 | |||||
pltcl | pltcl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言 | |||||
pltclu | pltcl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言(未受信/高权限) | |||||
plperl | plperl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/Perl 存储过程语言 | |||||
bool_plperl | plperl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperl 之间转换 | |||||
hstore_plperl | plperl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperl 之间转换适配类型 | |||||
jsonb_plperl | plperl |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperl 之间转换 | |||||
plperlu | plperlu |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/PerlU 存储过程语言(未受信/高权限) | |||||
bool_plperlu | plperlu |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperlu 之间转换 | |||||
jsonb_plperlu | plperlu |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperlu 之间转换 | |||||
hstore_plperlu | plperlu |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperlu 之间转换适配类型 | |||||
plpgsql | plpgsql |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/pgSQL 程序设计语言 | |||||
plpython3u | plpython3u |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/Python3 存储过程语言(未受信/高权限) | |||||
jsonb_plpython3u | plpython3u |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plpython3u 之间转换 | |||||
ltree_plpython3u | plpython3u |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 ltree 和 plpython3u 之间转换 | |||||
hstore_plpython3u | plpython3u |
postgresql$v-contrib |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plpython3u 之间转换 | |||||
prefix | prefix |
prefix_$v* |
PGDG | 1.2.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
前缀树数据类型 | |||||
semver | semver |
semver_$v* |
PGDG | 0.32.1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
语义版本号数据类型 | |||||
unit | pgunit |
postgresql-unit_$v* |
PGDG | 7 | TYPE |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
SI 国标单位扩展 | |||||
md5hash | md5hash |
md5hash_$v* |
PIGSTY | 1.0.1 | TYPE |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
提供128位MD5的原生数据类型 | |||||
asn1oid | asn1oid |
asn1oid_$v* |
PIGSTY | 1 | TYPE |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
ASN1OID数据类型支持 | |||||
roaringbitmap | roaringbitmap |
pg_roaringbitmap_$v* |
PIGSTY | 0.5 | TYPE |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
支持RoaringBitmap数据类型 | |||||
pgfaceting | pgfaceting |
pgfaceting_$v |
PIGSTY | 0.2.0 | TYPE |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
使用倒排索引的高速切面查询 | |||||
pg_sphere | pgsphere |
pgsphere_$v* |
PIGSTY | 1.5.1 | TYPE |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
球面对象函数、运算符与索引支持 | |||||
country | pg_country |
pg_country_$v* |
PIGSTY | 0.0.3 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
国家代码数据类型,遵循ISO 3166-1标准 | |||||
currency | pg_currency |
pg_currency_$v* |
PIGSTY | 0.0.3 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用1字节表示的货币数据类型 | |||||
pgmp | pgmp |
pgmp_$v* |
PGDG | 1.1 | TYPE |
LGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
多精度算术扩展 | |||||
numeral | numeral |
numeral_$v* |
PIGSTY | 1 | TYPE |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
数值类型扩展 | |||||
pg_rational | pg_rational |
pg_rational_$v* |
PIGSTY | 0.0.2 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用BIGINT表示的有理数数据类型 | |||||
uint | pguint |
pguint_$v* |
PGDG | 0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
无符号整型数据类型 | |||||
uint128 | pg_uint128 |
pg_uint128_$v* |
PIGSTY | 1.0.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
原生128位无符号整型数据类型 | |||||
ip4r | ip4r |
ip4r_$v* |
PGDG | 2.4 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 的 IPv4/v6 和 IPv4/v6 范围索引类型 | |||||
uri | pg_uri |
pg_uri_$v* |
PIGSTY | 1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
URI数据类型 | |||||
pgemailaddr | pgemailaddr |
pg_emailaddr_$v* |
PIGSTY | 0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Email地址数据类型 | |||||
acl | acl |
acl_$v* |
PIGSTY | 1.0.4 | TYPE |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
ACL数据类型 | |||||
timestamp9 | timestamp9 |
timestamp9_$v* |
PGDG | 1.4.0 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
纳秒分辨率时间戳 | |||||
chkpass | chkpass |
chkpass_$v* |
PIGSTY | 1.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
数据类型:自动加密的密码 | |||||
isn | isn |
postgresql$v-contrib |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于国际产品编号标准的数据类型 | |||||
seg | seg |
postgresql$v-contrib |
CONTRIB | 1.4 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
表示线段或浮点间隔的数据类型 | |||||
cube | cube |
postgresql$v-contrib |
CONTRIB | 1.5 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于存储多维立方体的数据类型 | |||||
ltree | ltree |
postgresql$v-contrib |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于表示分层树状结构的数据类型 | |||||
hstore | hstore |
postgresql$v-contrib |
CONTRIB | 1.8 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于存储(键,值)对集合的数据类型 | |||||
citext | citext |
postgresql$v-contrib |
CONTRIB | 1.6 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供大小写不敏感的字符串类型 | |||||
xml2 | xml2 |
postgresql$v-contrib |
CONTRIB | 1.1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
XPath 查询和 XSLT | |||||
topn | topn |
topn_$v* |
PGDG | 2.6.0 | FUNC |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
top-n JSONB 的类型 | |||||
gzip | pg_gzip |
pgsql_gzip_$v* |
PGDG | 1.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL执行Gzip压缩与解压缩 | |||||
zstd | pg_zstd |
pg_zstd_$v* |
PIGSTY | 1.1.0 | FUNC |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
ZSTD压缩解压缩函数包 | |||||
http | pg_http |
pgsql_http_$v* |
PGDG | 1.6 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
HTTP客户端,允许在数据库内收发HTTP请求 (supabase) | |||||
pg_net | pg_net |
pg_net_$v* |
PIGSTY | 0.9.2 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
用 SQL 进行异步非阻塞HTTP/HTTPS 请求的扩展 (supabase) | |||||
pg_html5_email_address | pg_html5_email_address |
pg_html5_email_address_$v |
PIGSTY | 1.2.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
验证Email是否符合HTML5规范的扩展 | |||||
pgsql_tweaks | pgsql_tweaks |
pgsql_tweaks_$v* |
PGDG | 0.10.6 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些日常会用到的便利函数与视图 | |||||
pg_extra_time | pg_extra_time |
pg_extra_time_$v* |
PGDG | 1.1.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些关于日期与时间的扩展函数 | |||||
timeit | pg_timeit |
pg_timeit_$v* |
PIGSTY | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL语句执行高精度计时 | |||||
count_distinct | count_distinct |
count_distinct_$v* |
PGDG | 3.0.1 | FUNC |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
COUNT(DISTINCT …) 聚合的替代方案 | |||||
extra_window_functions | extra_window_functions |
extra_window_functions_$v* |
PGDG | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
额外的窗口函数 | |||||
first_last_agg | first_last_agg |
first_last_agg_$v |
PIGSTY | 0.1.4 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
first() 与 last() 聚合函数 | |||||
tdigest | tdigest |
tdigest_$v* |
PGDG | 1.4.1 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
tdigest 聚合函数 | |||||
aggs_for_vecs | aggs_for_vecs |
aggs_for_vecs_$v* |
PIGSTY | 1.3.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
针对数组类型的聚合函数集合扩展 | |||||
aggs_for_arrays | aggs_for_arrays |
aggs_for_arrays_$v* |
PIGSTY | 1.3.2 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
计算数组聚合统计值的函数包 | |||||
arraymath | pg_arraymath |
pg_arraymath_$v* |
PIGSTY | 1.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
数组逐元素数学运算符包 | |||||
quantile | quantile |
quantile_$v* |
PIGSTY | 1.1.7 | FUNC |
BSD | 17 ,16 ,15 ,14 ,13 ,12 |
Quantile聚合函数 | |||||
lower_quantile | lower_quantile |
lower_quantile_$v* |
PIGSTY | 1.0.0 | FUNC |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
Lower Quantile 聚合函数 | |||||
pg_idkit | pg_idkit |
pg_idkit_$v |
PIGSTY | 0.2.4 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
生成各式各样的唯一标识符:UUIDv6, ULID, KSUID | |||||
pg_uuidv7 | pg_uuidv7 |
pg_uuidv7_$v* |
PGDG | 1.6 | FUNC |
MPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
UUIDv7 支持 | |||||
permuteseq | permuteseq |
permuteseq_$v* |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
伪随机数ID置换生成器 | |||||
pg_hashids | pg_hashids |
pg_hashids_$v* |
PIGSTY | 1.3 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
加盐将整型ID转为短字符串ID | |||||
sequential_uuids | sequential_uuids |
sequential_uuids_$v* |
PGDG | 1.0.2 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
生成连续生成的UUID | |||||
pg_math | pg_math |
pg_math_$v* |
PIGSTY | 1.0 | FUNC |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
使用GSL库的数学统计函数 | |||||
random | pg_random |
pg_random_$v* |
PIGSTY | 2.0.0-dev | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
随机数生成器 | |||||
base36 | pg_base36 |
pg_base36_$v* |
PIGSTY | 1.0.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base36编码解码扩展 | |||||
base62 | pg_base62 |
pg_base62_$v* |
PIGSTY | 0.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base62编码解码扩展 | |||||
pg_base58 | pg_base58 |
pg_base58_$v |
PIGSTY | 0.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base58 编码/解码函数 | |||||
floatvec | floatvec |
floatvec_$v* |
PIGSTY | 1.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
数组类型数学运算扩展 | |||||
financial | pg_financial |
pg_financial_$v* |
PIGSTY | 1.0.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
金融领域聚合函数 | |||||
pgjwt | pgjwt |
pgjwt_$v* |
PIGSTY | 0.2.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
JSON Web Token API 的PG实现 (supabase) | |||||
pg_hashlib | pg_hashlib |
pg_hashlib_$v |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
稳定哈希函数包 | |||||
shacrypt | shacrypt |
postgres_shacrypt_$v* |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实现SHA256-CRYPT与SHA512-CRYPT密钥加密算法 | |||||
cryptint | cryptint |
cryptint_$v* |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
加密INT与BIGINT类型 | |||||
pguecc | pg_ecdsa |
pg_ecdsa_$v* |
PIGSTY | 1.0 | FUNC |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL的uECC绑定,椭圆曲线加解密函数包 | |||||
pgpcre | pgpcre |
pgpcre_$v |
PIGSTY | 1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PCRE/Perl风格的正则表达式支持 | |||||
icu_ext | icu_ext |
icu_ext_$v* |
PIGSTY | 1.9 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
访问ICU库提供的函数 | |||||
pgqr | pgqr |
pgqr_$v* |
PIGSTY | 1.0 | FUNC |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库中直接生成QR二维码 | |||||
envvar | envvar |
pg_envvar_$v* |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
获取环境变量的函数 | |||||
pg_protobuf | pg_protobuf |
pg_protobuf_$v |
PIGSTY | 1.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
提供Protobuf函数支持 | |||||
url_encode | url_encode |
url_encode_$v* |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供URL编码解码函数 | |||||
refint | refint |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实现引用完整性的函数 | |||||
autoinc | autoinc |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于自动递增字段的函数 | |||||
insert_username | insert_username |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于跟踪谁更改了表的函数 | |||||
moddatetime | moddatetime |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪最后修改时间 | |||||
tsm_system_time | tsm_system_time |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
接受毫秒数限制的 TABLESAMPLE 方法 | |||||
dict_xsyn | dict_xsyn |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于扩展同义词处理的文本搜索字典模板 | |||||
tsm_system_rows | tsm_system_rows |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
接受行数限制的 TABLESAMPLE 方法 | |||||
tcn | tcn |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用触发器通知变更 | |||||
uuid-ossp | uuid-ossp |
postgresql$v-contrib |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
生成通用唯一标识符(UUIDs) | |||||
btree_gist | btree_gist |
postgresql$v-contrib |
CONTRIB | 1.7 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用GiST索引常见数据类型 | |||||
btree_gin | btree_gin |
postgresql$v-contrib |
CONTRIB | 1.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用GIN索引常见数据类型 | |||||
intarray | intarray |
postgresql$v-contrib |
CONTRIB | 1.5 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
1维整数数组的额外函数、运算符和索引支持 | |||||
intagg | intagg |
postgresql$v-contrib |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
整数聚合器和枚举器(过时) | |||||
dict_int | dict_int |
postgresql$v-contrib |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于整数的文本搜索字典模板 | |||||
unaccent | unaccent |
postgresql$v-contrib |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
删除重音的文本搜索字典 | |||||
pg_repack | pg_repack |
pg_repack_$v* |
PGDG | 1.5.0 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
在线垃圾清理与表膨胀治理 | |||||
pg_squeeze | pg_squeeze |
pg_squeeze_$v* |
PGDG | 1.7 | ADMIN |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
从关系中删除未使用空间 | |||||
pg_dirtyread | pg_dirtyread |
pg_dirtyread_$v* |
PIGSTY | 2 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
从表中读取尚未垃圾回收的行 | |||||
pgfincore | pgfincore |
pgfincore_$v* |
PGDG | 1.3.1 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
检查和管理操作系统缓冲区缓存 | |||||
pgdd | pgdd |
pgdd_$v |
PIGSTY | 0.5.2 | ADMIN |
MIT | 16 ,15 ,14 ,13 ,12 |
提供通过标准SQL查询数据库目录集簇的能力 | |||||
ddlx | ddlx |
ddlx_$v* |
PGDG | 0.27 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提取数据库对象的DDL | |||||
prioritize | pg_prioritize |
pg_prioritize_$v* |
PGDG | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
获取和设置 PostgreSQL 后端的优先级 | |||||
pg_checksums | pg_checksums |
pg_checksums_$v* |
PGDG | 1.1 | ADMIN |
BSD 2 | 16 ,15 ,14 ,13 ,12 |
在离线模式下激活/启用/禁用数据库集群的校验和功能 | |||||
pg_readonly | pg_readonly |
pg_readonly_$v* |
PGDG | 1.0.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
将集群设置为只读 | |||||
safeupdate | safeupdate |
safeupdate_$v* |
PGDG | 1.4 | ADMIN |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
强制在 UPDATE 和 DELETE 时提供 Where 条件 | |||||
pg_permissions | pg_permissions |
pg_permissions_$v* |
PGDG | 1.3 | ADMIN |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
查看对象权限并将其与期望状态进行比较 | |||||
pgautofailover | pgautofailover |
pg_auto_failover_$v* |
PGDG | 2.1 | ADMIN |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PG 自动故障迁移 | |||||
pg_catcheck | pg_catcheck |
pg_catcheck_$v* |
PGDG | 1.4.0 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用于诊断系统目录是否损坏的工具 | |||||
pre_prepare | preprepare |
preprepare_$v* |
PIGSTY | 0.4 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在服务端预先准备好PreparedStatement备用 | |||||
pgcozy | pgcozy |
pgcozy_$v |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
根据先前的pg_buffercache快照预热内存缓冲区 | |||||
pg_orphaned | pg_orphaned |
pg_orphaned_$v* |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
处理孤儿文件的扩展插件 | |||||
pg_crash | pg_crash |
pg_crash_$v* |
PIGSTY | 1.0 | ADMIN |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
向数据库进程随机发送信号模拟故障 | |||||
pg_cheat_funcs | pg_cheat_funcs |
pg_cheat_funcs_$v* |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些超级实用的作弊函数 | |||||
pg_savior | pg_savior |
pg_savior_$v* |
PIGSTY | 0.0.1 | ADMIN |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 |
阻止不带条件的全表更新以避免意外事故 | |||||
table_log | table_log |
table_log_$v |
PIGSTY | 0.6.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
记录某张表的修改日志并做表/行级时间点恢复 | |||||
pg_fio | pg_fio |
pg_fio_$v |
PIGSTY | 1.0 | ADMIN |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL文件IO函数包 | |||||
pgpool_adm | pgpool |
pgpool-II-pg$v-extensions |
PGDG | 1.5 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool 管理函数 | |||||
pgpool_recovery | pgpool |
pgpool-II-pg$v-extensions |
PGDG | 1.4 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool辅助扩展,从v4.3提供的恢复函数 | |||||
pgpool_regclass | pgpool |
pgpool-II-pg$v-extensions |
PGDG | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool辅助扩展,RegClass替代 | |||||
pgagent | pgagent |
pgagent_$v* |
PGDG | 4.2 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL任务调度工具,与PGADMIN配合使用 | |||||
vacuumlo | vacuumlo |
postgresql$v-contrib |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从PostgreSQL中移除孤儿数据库文件的实用命令行工具 | |||||
pg_prewarm | pg_prewarm |
postgresql$v-contrib |
CONTRIB | 1.2 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
预热关系数据 | |||||
oid2name | oid2name |
postgresql$v-contrib |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于检查PG文件结构的实用命令行工具 | |||||
lo | lo |
postgresql$v-contrib |
CONTRIB | 1.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
大对象维护 | |||||
basic_archive | basic_archive |
postgresql$v-contrib |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 |
归档模块样例 | |||||
basebackup_to_shell | basebackup_to_shell |
postgresql$v-contrib |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 |
添加一种备份到Shell终端到基础备份方式 | |||||
old_snapshot | old_snapshot |
postgresql$v-contrib |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 |
支持 old_snapshot_threshold 的实用程序 | |||||
adminpack | adminpack |
postgresql$v-contrib |
CONTRIB | 2.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 管理函数集合 | |||||
amcheck | amcheck |
postgresql$v-contrib |
CONTRIB | 1.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
校验关系完整性 | |||||
pg_surgery | pg_surgery |
postgresql$v-contrib |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 |
对损坏的关系进行手术 | |||||
pg_profile | pg_profile |
pg_profile_$v* |
PGDG | 4.7 | STAT |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 数据库负载记录与AWR报表工具 | |||||
pg_show_plans | pg_show_plans |
pg_show_plans_$v* |
PGDG | 2.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
打印所有当前正在运行查询的执行计划 | |||||
pg_stat_kcache | pg_stat_kcache |
pg_stat_kcache_$v* |
PGDG | 2.3.0 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
内核统计信息收集 | |||||
pg_stat_monitor | pg_stat_monitor |
pg_stat_monitor_$v* |
PGDG | 2.1 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供查询聚合统计、客户端信息、执行计划详细信息和直方图 | |||||
pg_qualstats | pg_qualstats |
pg_qualstats_$v* |
PGDG | 2.1.1 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
收集有关 quals 的统计信息的扩展 | |||||
pg_store_plans | pg_store_plans |
pg_store_plans_$v* |
PGDG | 1.8 | STAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
跟踪所有执行的 SQL 语句的计划统计信息 | |||||
pg_track_settings | pg_track_settings |
pg_track_settings_$v* |
PGDG | 2.1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪设置更改 | |||||
pg_wait_sampling | pg_wait_sampling |
pg_wait_sampling_$v* |
PGDG | 1.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于采样的等待事件统计 | |||||
system_stats | system_stats |
system_stats_$v* |
PGDG | 3.0 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 的系统统计函数 | |||||
meta | pg_meta |
pg_meta_$v |
PIGSTY | 0.4.0 | STAT |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
标准化,更友好的PostgreSQL系统目录视图 | |||||
pgnodemx | pgnodemx |
pgnodemx_$v |
PIGSTY | 1.7 | STAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL查询获取操作系统指标 | |||||
pg_proctab | pgnodemx |
pgnodemx_$v |
PIGSTY | 0.0.10-compat | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
通过SQL接口访问操作系统进程表 | |||||
pg_sqlog | pg_sqlog |
pg_sqlog_$v* |
PIGSTY | 1.6 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供访问PostgreSQL日志的SQL接口 | |||||
bgw_replstatus | bgw_replstatus |
bgw_replstatus_$v* |
PGDG | 1.0.6 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于汇报本机主从状态的后台工作进程 | |||||
pgmeminfo | pgmeminfo |
pgmeminfo_$v* |
PGDG | 1.0 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
显示内存使用情况 | |||||
toastinfo | toastinfo |
toastinfo_$v* |
PIGSTY | 1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示TOAST字段的详细信息 | |||||
explain_ui | pg_explain_ui |
pg_explain_ui_$v |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
快速跳转至PEV查阅可视化执行计划 | |||||
pg_relusage | pg_relusage |
pg_relusage_$v |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
打印查询引用的表与列 | |||||
pg_mon | pg_mon |
pg_mon_$v* |
PIGSTY | 1.0 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
查看正在执行中的查询状态 | |||||
pg_statviz | pg_statviz |
pg_statviz_extension_$v |
PGDG | 0.6 | STAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
可视化统计指标并分析时间序列 | |||||
pgexporter_ext | pgexporter_ext |
pgexporter_ext_$v |
PGDG | 0.2.3 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
PGExporter的额外指标支持 | |||||
pg_top | pg_top |
pg_top_$v* |
PGDG | 3.7.0 | STAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
像unix top命令一样监控PG进程 | |||||
pagevis | pagevis |
pagevis_$v |
PIGSTY | 0.1 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用ASCII字符可视化数据库物理页面布局 | |||||
powa | powa |
powa_$v* |
PGDG | 4.2.2 | STAT |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PostgreSQL 工作负载分析器-核心 | |||||
pageinspect | pageinspect |
postgresql$v-contrib |
CONTRIB | 1.12 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查数据库页面二进制内容 | |||||
pgrowlocks | pgrowlocks |
postgresql$v-contrib |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示行级锁信息 | |||||
sslinfo | sslinfo |
postgresql$v-contrib |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
关于 SSL 证书的信息 | |||||
pg_buffercache | pg_buffercache |
postgresql$v-contrib |
CONTRIB | 1.4 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查共享缓冲区缓存 | |||||
pg_walinspect | pg_walinspect |
postgresql$v-contrib |
CONTRIB | 1.1 | STAT |
PostgreSQL | 17 ,16 ,15 |
用于检查 PostgreSQL WAL 日志内容的函数 | |||||
pg_freespacemap | pg_freespacemap |
postgresql$v-contrib |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查自由空间映射的内容(FSM) | |||||
pg_visibility | pg_visibility |
postgresql$v-contrib |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查可见性图(VM)和页面级可见性信息 | |||||
pgstattuple | pgstattuple |
postgresql$v-contrib |
CONTRIB | 1.5 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示元组级统计信息 | |||||
auto_explain | auto_explain |
postgresql$v-contrib |
CONTRIB | 16.3 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供一种自动记录执行计划的手段 | |||||
pg_stat_statements | pg_stat_statements |
postgresql$v-contrib |
CONTRIB | 1.10 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪所有执行的 SQL 语句的计划和执行统计信息 | |||||
passwordcheck_cracklib | passwordcheck |
passwordcheck_cracklib_$v* |
PGDG | 3.0.0 | SEC |
LGPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
使用cracklib加固PG用户密码 | |||||
supautils | supautils |
supautils_$v* |
PIGSTY | 2.5.0 | SEC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 |
用于在云环境中确保数据库集群的安全 | |||||
pgsodium | pgsodium |
pgsodium_$v* |
PIGSTY | 3.1.9 | SEC |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
表数据加密存储 TDE | |||||
supabase_vault | pg_vault |
vault_$v* |
PIGSTY | 0.2.8 | SEC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
在 Vault 中存储加密凭证的扩展 (supabase) | |||||
anon | anonymizer |
postgresql_anonymizer_$v* |
PGDG | 1.3.2 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
数据匿名化处理工具 | |||||
pg_tde | pg_tde |
pg_tde_$v* |
PIGSTY | 1.0 | SEC |
MIT | 16 |
试点性质的加密存储引擎 | |||||
pgsmcrypto | pgsmcrypto |
pgsmcrypto_$v |
PIGSTY | 0.1.0 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
为PostgreSQL提供商密算法支持:SM2,SM3,SM4 | |||||
pgaudit | pgaudit |
pgaudit_$v* |
PGDG | 16.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供审计功能 | |||||
pgauditlogtofile | pgauditlogtofile |
pgauditlogtofile_$v* |
PGDG | 1.6 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
pgAudit 子扩展,将审计日志写入单独的文件中 | |||||
pg_auth_mon | pg_auth_mon |
pg_auth_mon_$v* |
PGDG | 1.1 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
监控每个用户的连接尝试 | |||||
credcheck | credcheck |
credcheck_$v* |
PGDG | 2.7.0 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
明文凭证检查器 | |||||
pgcryptokey | pgcryptokey |
pgcryptokey_$v* |
PGDG | 1.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PG密钥管理 | |||||
pg_jobmon | pg_jobmon |
pg_jobmon_$v* |
PGDG | 1.4.1 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
记录和监控函数 | |||||
logerrors | logerrors |
logerrors_$v* |
PGDG | 2.1 | SEC |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用于收集日志文件中消息统计信息的函数 | |||||
login_hook | login_hook |
login_hook_$v* |
PGDG | 1.6 | SEC |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
在用户登陆时执行login_hook.login()函数 | |||||
set_user | set_user |
set_user_$v* |
PGDG | 4.1.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
增加了日志记录的 SET ROLE | |||||
pg_snakeoil | pg_snakeoil |
pg_snakeoil_$v* |
PIGSTY | 1 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL动态链接库反病毒功能 | |||||
pgextwlist | pgextwlist |
pgextwlist_$v* |
PIGSTY | 1.17 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL扩展白名单功能 | |||||
pg_auditor | pg_auditor |
pg_auditor_$v |
PIGSTY | 0.2 | SEC |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
审计数据变更并提供闪回能力 | |||||
sslutils | sslutils |
sslutils_$v* |
PIGSTY | 1.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL管理SSL证书 | |||||
noset | noset |
noset_$v* |
PIGSTY | 0.3.0 | SEC |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
阻止非超级用户使用SET/RESET设置变量 | |||||
sepgsql | sepgsql |
postgresql$v-contrib |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于SELinux标签的强制访问控制 | |||||
auth_delay | auth_delay |
postgresql$v-contrib |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在返回认证失败前暂停一会,避免爆破 | |||||
pgcrypto | pgcrypto |
postgresql$v-contrib |
CONTRIB | 1.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实用加解密函数 | |||||
passwordcheck | passwordcheck |
postgresql$v-contrib |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于强制拒绝修改弱密码的扩展 | |||||
wrappers | wrappers |
wrappers_$v |
PIGSTY | 0.4.3 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 |
Supabase提供的外部数据源包装器捆绑包 | |||||
multicorn | multicorn |
multicorn2_$v* |
PGDG | 3.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用Python编写自定义的外部数据源包装器 | |||||
odbc_fdw | odbc_fdw |
odbc_fdw_$v* |
PGDG | 0.5.1 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 |
访问ODBC可访问的任何外部数据源 | |||||
jdbc_fdw | jdbc_fdw |
jdbc_fdw_$v* |
PGDG | 1.2 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 |
访问JDBC可访问的任何外部数据源 | |||||
mysql_fdw | mysql_fdw |
mysql_fdw_$v* |
PGDG | 1.2 | FDW |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
MySQL外部数据包装器 | |||||
oracle_fdw | oracle_fdw |
oracle_fdw_$v* |
PGDG | 1.2 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供对Oracle的外部数据源包装器 | |||||
tds_fdw | tds_fdw |
tds_fdw_$v* |
PGDG | 2.0.4 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
TDS 数据库(Sybase/SQL Server)外部数据包装器 | |||||
db2_fdw | db2_fdw |
db2_fdw_$v* |
PGDG | 6.0.1 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
提供对DB2的外部数据源包装器 | |||||
sqlite_fdw | sqlite_fdw |
sqlite_fdw_$v* |
PGDG | 1.1 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
SQLite 外部数据包装器 | |||||
pgbouncer_fdw | pgbouncer_fdw |
pgbouncer_fdw_$v* |
PGDG | 1.2.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用SQL查询pgbouncer统计信息,并执行pgbouncer命令 | |||||
mongo_fdw | mongo_fdw |
mongo_fdw_$v* |
PGDG | 1.1 | FDW |
LGPLv3 | 16 ,15 ,14 ,13 ,12 |
MongoDB 外部数据包装器 | |||||
redis_fdw | redis_fdw |
redis_fdw_$v* |
PIGSTY | 1.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
查询外部Redis数据源 | |||||
redis | pg_redis_pubsub |
pg_redis_pubsub_$v* |
PIGSTY | 0.0.1 | FDW |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
从PG向Redis发送Pub/Sub消息 | |||||
kafka_fdw | kafka_fdw |
kafka_fdw_$v |
PIGSTY | 0.0.3 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
Kafka外部数据源包装器 | |||||
hdfs_fdw | hdfs_fdw |
hdfs_fdw_$v* |
PGDG | 2.0.5 | FDW |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
hdfs 外部数据包装器 | |||||
firebird_fdw | firebird_fdw |
firebird_fdw_$v |
PIGSTY | 1.4.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Firebird外部数据源包装器 | |||||
aws_s3 | aws_s3 |
aws_s3_$v |
PIGSTY | 0.0.1 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
从S3导入导出数据的外部数据源包装器 | |||||
log_fdw | log_fdw |
log_fdw_$v* |
PIGSTY | 1.4 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 |
访问PostgreSQL日志文件的FDW | |||||
dblink | dblink |
postgresql$v-contrib |
CONTRIB | 1.2 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库内连接到其他 PostgreSQL 数据库 | |||||
file_fdw | file_fdw |
postgresql$v-contrib |
CONTRIB | 1.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
访问外部文件的外部数据包装器 | |||||
postgres_fdw | postgres_fdw |
postgresql$v-contrib |
CONTRIB | 1.1 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于远程 PostgreSQL 服务器的外部数据包装器 | |||||
orafce | orafce |
orafce_$v* |
PGDG | 4.13 | SIM |
BSD 0 | 17 ,16 ,15 ,14 ,13 ,12 |
模拟 Oracle RDBMS 的一部分函数和包的函数和运算符 | |||||
pgtt | pgtt |
pgtt_$v* |
PGDG | 4.0.0 | SIM |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
类似Oracle的全局临时表功能 | |||||
session_variable | session_variable |
session_variable_$v* |
PIGSTY | 3.4 | SIM |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
Oracle兼容的会话变量/常量操作函数 | |||||
pg_statement_rollback | pg_statement_rollback |
pg_statement_rollback_$v* |
PGDG | 1.4 | SIM |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
在服务端提供类似Oracle/DB2的语句级回滚能力 | |||||
pg_dbms_metadata | pg_dbms_metadata |
pg_dbms_metadata_$v* |
PGDG | 1.0.0 | SIM |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
添加 Oracle DBMS_METADATA 兼容性支持的扩展 | |||||
pg_dbms_lock | pg_dbms_lock |
pg_dbms_lock_$v* |
PGDG | 1.0.0 | SIM |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
为PG添加对 Oracle DBMS_LOCK 的完整兼容性支持 | |||||
pg_dbms_job | pg_dbms_job |
pg_dbms_job_$v* |
PGDG | 1.5.0 | SIM |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
添加 Oracle DBMS_JOB 兼容性支持的扩展 | |||||
babelfishpg_common | babelfishpg_common |
babelfishpg-common* |
WILTON | 3.3.3 | SIM |
Apache-2.0 | 15 |
SQL Server 数据类型兼容扩展 | |||||
babelfishpg_tsql | babelfishpg_tsql |
babelfishpg-tsql* |
WILTON | 3.3.1 | SIM |
Apache-2.0 | 15 |
SQL Server SQL语法兼容性扩展 | |||||
babelfishpg_tds | babelfishpg_tds |
babelfishpg-tds* |
WILTON | 1.0.0 | SIM |
Apache-2.0 | 15 |
SQL Server TDS线缆协议兼容扩展 | |||||
babelfishpg_money | babelfishpg_money |
babelfishpg-money* |
WILTON | 1.1.0 | SIM |
Apache-2.0 | 15 |
SQL Server 货币数据类型兼容扩展 | |||||
pgmemcache | pgmemcache |
pgmemcache_$v* |
PGDG | 2.3.0 | SIM |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
为PG提供memcached兼容接口 | |||||
pglogical | pglogical |
pglogical_$v* |
PGDG | 2.4.4 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL逻辑复制:三方扩展实现 | |||||
pglogical_origin | pglogical |
pglogical_$v* |
PGDG | 1.0.0 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于从 Postgres 9.4 升级时的兼容性虚拟扩展 | |||||
pgl_ddl_deploy | pgl_ddl_deploy |
pgl_ddl_deploy_$v* |
PGDG | 2.2 | ETL |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用 pglogical 执行自动 DDL 部署 | |||||
pg_failover_slots | pg_failover_slots |
pg_failover_slots_$v* |
PIGSTY | 1.0.1 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在Failover过程中保留复制槽 | |||||
wal2json | wal2json |
wal2json_$v* |
PGDG | 2.5.3 | ETL |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用逻辑解码捕获 JSON 格式的 CDC 变更 | |||||
wal2mongo | wal2mongo |
wal2mongo_$v* |
PIGSTY | 1.0.7 | ETL |
Apache-2.0 | 16 ,15 ,14 ,13 |
使用逻辑解码捕获MongoDB JSON格式的CDC变更 | |||||
decoderbufs | decoderbufs |
postgres-decoderbufs_$v* |
PGDG | 0.1.0 | ETL |
MIT | 16 ,15 ,14 ,13 ,12 |
将WAL逻辑解码为ProtocolBuffer协议的消息 | |||||
decoder_raw | decoder_raw |
decoder_raw_$v* |
PIGSTY | 1.0 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
逻辑复制解码输出插件:RAW SQL格式 | |||||
test_decoding | test_decoding |
postgresql$v-contrib |
CONTRIB | 16.3 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于SQL的WAL逻辑解码样例 | |||||
mimeo | mimeo |
mimeo_$v |
PIGSTY | 1.5.1 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在PostgreSQL实例间进行表级复制 | |||||
repmgr | repmgr |
repmgr_$v* |
PGDG | 5.4 | ETL |
GPLv3 | 16 ,15 ,14 ,13 ,12 |
PostgreSQL复制管理组件 | |||||
pgcopydb | pgcopydb |
pgcopydb |
PGDG | 0.15 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
将一个PostgreSQL数据库拷贝至目标服务器 | |||||
pgloader | pgloader |
pgloader |
PGDG | 3.6.10 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从MySQL/SQLite/MSSQL一键迁移至PostgreSQL! | |||||
pg_fact_loader | pg_fact_loader |
pg_fact_loader_$v* |
PGDG | 2.0 | ETL |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
在 Postgres 中构建事实表 | |||||
pg_bulkload | pg_bulkload |
pg_bulkload_$v* |
PGDG | 3.1.21 | ETL |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
向 PostgreSQL 中高速加载数据 | |||||
pg_comparator | pg_comparator |
pg_comparator_$v* |
PGDG | 2.2.5 | ETL |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
比对两个PostgreSQL数据库内容的差异 | |||||
pgimportdoc | pgimportdoc |
pgimportdoc_$v* |
PGDG | 0.1.4 | ETL |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
将XML,JSON,BYTEA文档导入PG数据库 | |||||
pgexportdoc | pgexportdoc |
pgexportdoc_$v* |
PGDG | 0.1.4 | ETL |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
从PG中导出XML,JSON,BYTEA文档 |
2.3 - DEB 扩展清单
Pigsty 在 Debian/Ubuntu 系统中总共有 323 个可用 RPM 扩展,其中DEB独占扩展 7 个,缺少RPM独占扩展 19 个。
其中除去 70 个PG自带的 Contrib扩展,PGDG APT 仓库提供了 109 个,Pigsty APT 仓库提供了 143 个。 当前首要大版本 PostgreSQL 16 支持了 322 个扩展,而 PostgreSQL 17 支持了其中的 290 个。
扩展名(官网) | 标准名(简介) | 包名 | 仓库 | 版本 | 类目 | 许可证 | PG大版本支持 | LOAD |
DDL |
DBSU |
RELOC |
简介 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
timescaledb | timescaledb |
timescaledb-2-postgresql-$v |
PGDG | 2.17.0 | TIME |
Timescale | 17 ,16 ,15 ,14 ,13 ,12 |
时序数据库扩展插件 | ||||
timeseries | pg_timeseries |
postgresql-$v-pg-timeseries |
PIGSTY | 0.1.6 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Tembo时序数据API封装 | ||||
periods | periods |
postgresql-$v-periods |
PGDG | 1.2 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
为 PERIODs 和 SYSTEM VERSIONING 提供标准 SQL 功能 | ||||
temporal_tables | temporal_tables |
postgresql-$v-temporal-tables |
PIGSTY | 1.2.2 | TIME |
BSD 2 | 16 ,15 ,14 ,13 ,12 |
时态表功能支持 | ||||
emaj | emaj |
postgresql-$v-emaj |
PIGSTY | 4.5.0 | TIME |
GPLv3 | 16 ,15 ,14 ,13 ,12 |
让数据库的子集具有细粒度日志和时间旅行功能 | ||||
table_version | table_version |
postgresql-$v-tableversion |
PIGSTY | 1.10.3 | TIME |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 版本控制表扩展 | ||||
pg_cron | pg_cron |
postgresql-$v-cron |
PGDG | 1.6 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
定时任务调度器 | ||||
pg_later | pg_later |
postgresql-$v-pg-later |
PIGSTY | 0.1.1 | TIME |
PostgreSQL | 16 ,15 ,14 ,13 |
执行查询,并在稍后异步获取查询结果 | ||||
pg_background | pg_background |
postgresql-$v-pg-background |
PIGSTY | 1.0 | TIME |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
在后台运行 SQL 查询 | ||||
pg_timetable | pg_timetable |
pg-timetable |
PIGSTY | 5.9.0 | TIME |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL高级任务调度器 | ||||
postgis | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 几何和地理空间扩展 | ||||
postgis_topology | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 拓扑空间类型和函数 | ||||
postgis_raster | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS 光栅类型和函数 | ||||
postgis_sfcgal | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS SFCGAL 函数 | ||||
postgis_tiger_geocoder | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostGIS tiger 地理编码器和反向地理编码器 | ||||
address_standardizer | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
地址标准化函数。 | ||||
address_standardizer_data_us | postgis |
postgresql-$v-postgis-3* |
PGDG | 3.5.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
地址标准化函数:美国数据集示例 | ||||
pgrouting | pgrouting |
postgresql-$v-pgrouting* |
PGDG | 3.6.0 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
提供寻路能力 | ||||
pointcloud | pointcloud |
postgresql-$v-pointcloud |
PGDG | 1.2.5 | GIS |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供激光雷达点云数据类型支持 | ||||
pointcloud_postgis | pointcloud |
postgresql-$v-pointcloud |
PGDG | 1.2.5 | GIS |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
将激光雷达点云与PostGIS几何类型相集成 | ||||
h3 | pg_h3 |
postgresql-$v-h3 |
PGDG | 4.1.3 | GIS |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
H3六边形层级索引支持 | ||||
h3_postgis | pg_h3 |
postgresql-$v-h3 |
PGDG | 4.1.3 | GIS |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
H3与PostGIS集成的扩展插件 | ||||
q3c | q3c |
postgresql-$v-q3c |
PGDG | 2.0.1 | GIS |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
Q3C天空索引插件 | ||||
ogr_fdw | ogr_fdw |
postgresql-$v-ogr-fdw |
PGDG | 1.1 | GIS |
MIT | 16 ,15 ,14 ,13 ,12 |
GIS 数据外部数据源包装器 | ||||
geoip | geoip |
postgresql-$v-geoip |
PIGSTY | 0.3.0 | GIS |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
IP 地理位置扩展(围绕 MaxMind GeoLite 数据集的包装器) | ||||
pg_polyline | pg_polyline |
postgresql-$v-pg-polyline |
PIGSTY | 0.0.0 | GIS |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Google快速Polyline编码解码扩展 | ||||
pg_geohash | pg_geohash |
postgresql-$v-pg-geohash |
PIGSTY | 1.0 | GIS |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用GeoHash处理空间坐标的函数包 | ||||
mobilitydb | mobilitydb |
postgresql-$v-mobilitydb |
PGDG | 1.1.1 | GIS |
GPLv3 | 16 ,15 ,14 ,13 ,12 |
MobilityDB地理空间投影数据管理分析平台 | ||||
earthdistance | earthdistance |
postgresql-$v |
CONTRIB | 1.1 | GIS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
计算地球表面上的大圆距离 | ||||
vector | pgvector |
postgresql-$v-pgvector |
PGDG | 0.7.4 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
向量数据类型和 ivfflat / hnsw 访问方法 | ||||
vectorscale | pgvectorscale |
postgresql-$v-pgvectorscale |
PIGSTY | 0.4.0 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 |
使用DiskANN算法对向量进行高效索引 | ||||
vectorize | pg_vectorize |
postgresql-$v-pg-vectorize |
PIGSTY | 0.18.3 | RAG |
PostgreSQL | 16 ,15 ,14 |
在PostgreSQL中封装RAG向量检索服务 | ||||
pg_similarity | pg_similarity |
postgresql-$v-similarity |
PGDG | 1.0 | RAG |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供17种距离度量函数 | ||||
smlar | smlar |
postgresql-$v-smlar |
PIGSTY | 1.0 | RAG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 |
高效的相似度搜索函数 | ||||
pg_summarize | pg_summarize |
postgresql-$v-pg-summarize |
PIGSTY | 0.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用LLM对文本字段进行总结 | ||||
pg_tiktoken | pg_tiktoken |
postgresql-$v-pg-tiktoken |
PIGSTY | 0.0.1 | RAG |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
在PostgreSQL中计算OpenAI使用的Token数 | ||||
pgml | pgml |
postgresql-$v-pgml |
PIGSTY | 2.9.3 | RAG |
MIT | 16 ,15 ,14 |
PostgresML:用SQL运行机器学习算法并训练模型 | ||||
pg4ml | pg4ml |
postgresql-$v-pg4ml |
PIGSTY | 2.0 | RAG |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
PG4ML是一个机器学习框架 | ||||
pg_search | pg_search |
postgresql-$v-pg-search |
PIGSTY | 0.11.1 | FTS |
AGPLv3 | 17 ,16 ,15 ,14 |
ParadeDB BM25算法全文检索插件,ES全文检索 | ||||
pg_bigm | pg_bigm |
postgresql-$v-pg-bigm |
PIGSTY | 1.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于二字组的多语言全文检索扩展 | ||||
zhparser | zhparser |
postgresql-$v-zhparser |
PIGSTY | 2.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
中文分词,全文搜索解析器 | ||||
hunspell_cs_cz | hunspell_cs_cz |
postgresql-$v-hunspell-cs-cz |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell捷克语全文检索词典 | ||||
hunspell_de_de | hunspell_de_de |
postgresql-$v-hunspell-de-de |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell德语全文检索词典 | ||||
hunspell_en_us | hunspell_en_us |
postgresql-$v-hunspell-en-us |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell英语全文检索词典 | ||||
hunspell_fr | hunspell_fr |
postgresql-$v-hunspell-fr |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell法语全文检索词典 | ||||
hunspell_ne_np | hunspell_ne_np |
postgresql-$v-hunspell-ne-np |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell尼泊尔语全文检索词典 | ||||
hunspell_nl_nl | hunspell_nl_nl |
postgresql-$v-hunspell-nl-nl |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell荷兰语全文检索词典 | ||||
hunspell_nn_no | hunspell_nn_no |
postgresql-$v-hunspell-nn-no |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell挪威语全文检索词典 | ||||
hunspell_pt_pt | hunspell_pt_pt |
postgresql-$v-hunspell-pt-pt |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell葡萄牙语全文检索词典 | ||||
hunspell_ru_ru | hunspell_ru_ru |
postgresql-$v-hunspell-ru-ru |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell俄语全文检索词典 | ||||
hunspell_ru_ru_aot | hunspell_ru_ru_aot |
postgresql-$v-hunspell-ru-ru-aot |
PIGSTY | 1.0 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Hunspell俄语全文检索词典(来自AOT.ru小组) | ||||
fuzzystrmatch | fuzzystrmatch |
postgresql-$v |
CONTRIB | 1.2 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
确定字符串之间的相似性和距离 | ||||
pg_trgm | pg_trgm |
postgresql-$v |
CONTRIB | 1.6 | FTS |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
文本相似度测量函数与模糊检索 | ||||
citus | citus |
postgresql-$v-citus-12.1 |
PGDG | 12.1-1 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 ,12 |
Citus 分布式数据库 | ||||
citus_columnar | citus |
postgresql-$v-citus-12.1 |
PGDG | 11.3-1 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 ,12 |
Citus 列式存储 | ||||
columnar | hydra |
postgresql-$v-hydra |
PIGSTY | 11.1-11 | OLAP |
AGPLv3 | 16 ,15 ,14 ,13 |
开源列式存储扩展 | ||||
pg_analytics | pg_analytics |
postgresql-$v-pg-analytics |
PIGSTY | 0.2.1 | OLAP |
AGPLv3 | 17 ,16 ,15 ,14 |
由 DuckDB 驱动的数据分析引擎 | ||||
pg_duckdb | pg_duckdb |
postgresql-$v-pg-duckdb |
PIGSTY | 0.0.1 | OLAP |
MIT | 17 ,16 ,15 |
在PostgreSQL中的嵌入式DuckDB扩展 | ||||
duckdb_fdw | duckdb_fdw |
postgresql-$v-duckdb-fdw |
PIGSTY | 1.0.0 | OLAP |
MIT | 16 ,15 ,14 ,13 ,12 |
DuckDB 外部数据源包装器 | ||||
pg_parquet | pg_parquet |
postgresql-$v-pg-parquet |
PIGSTY | 0.1.0 | OLAP |
PostgreSQL | 17 ,16 |
在PostgreSQL与本地/S3中的Parquet文件复制数据 | ||||
pg_fkpart | pg_fkpart |
postgresql-$v-pg-fkpart |
PIGSTY | 1.7 | OLAP |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
按外键实用程序进行表分区的扩展 | ||||
pg_partman | pg_partman |
postgresql-$v-partman |
PGDG | 5.1.0 | OLAP |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于按时间或 ID 管理分区表的扩展 | ||||
plproxy | plproxy |
postgresql-$v-plproxy |
PGDG | 2.11.0 | OLAP |
BSD 0 | 17 ,16 ,15 ,14 ,13 ,12 |
作为过程语言实现的数据库分区 | ||||
tablefunc | tablefunc |
postgresql-$v |
CONTRIB | 1.0 | OLAP |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
交叉表函数 | ||||
age | age |
postgresql-$v-age |
PGDG | 1.5.0 | FEAT |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
Apache AGE,图数据库扩展 (Deb可用) | ||||
hll | hll |
postgresql-$v-hll |
PGDG | 2.18 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
hyperloglog 数据类型 | ||||
rum | rum |
postgresql-$v-rum |
PGDG | 1.3 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
RUM 索引访问方法 | ||||
pg_graphql | pg_graphql |
postgresql-$v-pg-graphql |
PIGSTY | 1.5.9 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 |
PG内的 GraphQL 支持 (RUST, supabase) | ||||
pg_jsonschema | pg_jsonschema |
postgresql-$v-pg-jsonschema |
PIGSTY | 0.3.3 | FEAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
提供JSON Schema校验能力 | ||||
jsquery | jsquery |
postgresql-$v-jsquery |
PGDG | 1.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于内省 JSONB 数据类型的查询类型 | ||||
pg_hint_plan | pg_hint_plan |
postgresql-$v-pg-hint-plan |
PGDG | 1.6.1 | FEAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
添加强制指定执行计划的能力 | ||||
hypopg | hypopg |
postgresql-$v-hypopg |
PGDG | 1.4.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
假设索引,用于创建一个虚拟索引检验执行计划 | ||||
index_advisor | index_advisor |
postgresql-$v-index-advisor |
PIGSTY | 0.2.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
查询索引建议器 | ||||
plan_filter | pg_plan_filter |
postgresql-$v-pg-plan-filter |
PIGSTY | 0.0.1 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用执行计划代价过滤阻止特定查询语句 | ||||
imgsmlr | imgsmlr |
postgresql-$v-imgsmlr |
PIGSTY | 1.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用Haar小波分析计算图片相似度 | ||||
pg_ivm | pg_ivm |
postgresql-$v-pg-ivm |
PIGSTY | 1.8 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
增量维护的物化视图 | ||||
pgmq | pgmq |
postgresql-$v-pgmq |
PIGSTY | 1.4.4 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于Postgres实现类似AWS SQS/RSMQ的消息队列 | ||||
pgq | pgq |
postgresql-$v-pgq3 |
PGDG | 3.5.1 | FEAT |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
通用队列的PG实现 | ||||
pg_cardano | pg_cardano |
postgresql-$v-pg-cardano |
PIGSTY | 1.0.2 | FEAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Cardano相关工具包:加密函数,地址编解码,区块链处理 | ||||
rdkit | rdkit |
postgresql-$v-rdkit |
PGDG | 4.3.0 | FEAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
在PostgreSQL化学领域数据管理功能 | ||||
bloom | bloom |
postgresql-$v |
CONTRIB | 1.0 | FEAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
bloom 索引-基于指纹的索引 | ||||
pg_tle | pg_tle |
postgresql-$v-pg-tle |
PIGSTY | 1.2.0 | LANG |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
AWS 可信语言扩展 | ||||
plv8 | plv8 |
postgresql-$v-plv8 |
PIGSTY | 3.2.3 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/JavaScript (v8) 可信过程程序语言 | ||||
plluau | pllua |
postgresql-$v-pllua |
PGDG | 2.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言(不受信任的) | ||||
hstore_plluau | pllua |
postgresql-$v-pllua |
PGDG | 1.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言的Hstore适配扩展(不受信任的) | ||||
pllua | pllua |
postgresql-$v-pllua |
PGDG | 2.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言 | ||||
hstore_pllua | pllua |
postgresql-$v-pllua |
PGDG | 1.0 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Lua 程序语言的Hstore适配扩展 | ||||
plprql | plprql |
postgresql-$v-plprql |
PIGSTY | 0.1.0 | LANG |
Apache-2.0 | 16 ,15 ,14 ,13 ,12 |
在PostgreSQL使用PRQL——管线式关系查询语言 | ||||
pldbgapi | pldebugger |
postgresql-$v-pldebugger |
PGDG | 1.1 | LANG |
Artistic | 17 ,16 ,15 ,14 ,13 ,12 |
用于调试 PL/pgSQL 函数的服务器端支持 | ||||
plpgsql_check | plpgsql_check |
postgresql-$v-plpgsql-check |
PGDG | 2.7 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
对 plpgsql 函数进行扩展检查 | ||||
plprofiler | plprofiler |
postgresql-$v-plprofiler |
PGDG | 4.2 | LANG |
Artistic | 17 ,16 ,15 ,14 ,13 ,12 |
剖析 PL/pgSQL 函数 | ||||
plsh | plsh |
postgresql-$v-plsh |
PGDG | 2 | LANG |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
PL/sh 程序语言 | ||||
pljava | pljava |
postgresql-$v-pljava |
PGDG | 1.6.6 | LANG |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
Java 程序语言 | ||||
plr | plr |
postgresql-$v-plr |
PGDG | 8.4.6 | LANG |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库中加载R语言解释器并执行R脚本 | ||||
pgtap | pgtap |
postgresql-$v-pgtap |
PGDG | 1.3.1 | LANG |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PostgreSQL单元测试框架 | ||||
pltcl | pltcl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言 | ||||
pltclu | pltcl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言(未受信/高权限) | ||||
plperl | plperl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/Perl 存储过程语言 | ||||
bool_plperl | plperl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperl 之间转换 | ||||
hstore_plperl | plperl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperl 之间转换适配类型 | ||||
jsonb_plperl | plperl |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperl 之间转换 | ||||
plperlu | plperlu |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/PerlU 存储过程语言(未受信/高权限) | ||||
bool_plperlu | plperlu |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperlu 之间转换 | ||||
jsonb_plperlu | plperlu |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperlu 之间转换 | ||||
hstore_plperlu | plperlu |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperlu 之间转换适配类型 | ||||
plpgsql | plpgsql |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/pgSQL 程序设计语言 | ||||
plpython3u | plpython3u |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PL/Python3 存储过程语言(未受信/高权限) | ||||
jsonb_plpython3u | plpython3u |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plpython3u 之间转换 | ||||
ltree_plpython3u | plpython3u |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 ltree 和 plpython3u 之间转换 | ||||
hstore_plpython3u | plpython3u |
postgresql-$v |
CONTRIB | 1.0 | LANG |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plpython3u 之间转换 | ||||
prefix | prefix |
postgresql-$v-prefix |
PGDG | 1.2.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
前缀树数据类型 | ||||
semver | semver |
postgresql-$v-semver |
PGDG | 0.32.1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
语义版本号数据类型 | ||||
unit | pgunit |
postgresql-$v-unit |
PGDG | 7 | TYPE |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
SI 国标单位扩展 | ||||
md5hash | md5hash |
postgresql-$v-md5hash |
PIGSTY | 1.0.1 | TYPE |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
提供128位MD5的原生数据类型 | ||||
asn1oid | asn1oid |
postgresql-$v-asn1oid |
PGDG | 1 | TYPE |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
ASN1OID数据类型支持 | ||||
roaringbitmap | roaringbitmap |
postgresql-$v-roaringbitmap |
PGDG | 0.5 | TYPE |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
支持RoaringBitmap数据类型 | ||||
pgfaceting | pgfaceting |
postgresql-$v-pgfaceting |
PGDG | 0.2.0 | TYPE |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
使用倒排索引的高速切面查询 | ||||
pg_sphere | pgsphere |
postgresql-$v-pgsphere |
PGDG | 1.5.1 | TYPE |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
球面对象函数、运算符与索引支持 | ||||
country | pg_country |
postgresql-$v-pg-country |
PIGSTY | 0.0.3 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
国家代码数据类型,遵循ISO 3166-1标准 | ||||
currency | pg_currency |
postgresql-$v-pg-currency |
PIGSTY | 0.0.3 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用1字节表示的货币数据类型 | ||||
pgmp | pgmp |
postgresql-$v-pgmp |
PGDG | 1.1 | TYPE |
LGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
多精度算术扩展 | ||||
numeral | numeral |
postgresql-$v-numeral |
PGDG | 1 | TYPE |
GPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
数值类型扩展 | ||||
pg_rational | pg_rational |
postgresql-$v-rational |
PGDG | 0.0.2 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用BIGINT表示的有理数数据类型 | ||||
uint | pguint |
postgresql-$v-pguint |
PIGSTY | 0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
无符号整型数据类型 | ||||
uint128 | pg_uint128 |
postgresql-$v-pg-uint128 |
PIGSTY | 1.0.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
原生128位无符号整型数据类型 | ||||
ip4r | ip4r |
postgresql-$v-ip4r |
PGDG | 2.4 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 的 IPv4/v6 和 IPv4/v6 范围索引类型 | ||||
uri | pg_uri |
postgresql-$v-pg-uri |
PIGSTY | 1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
URI数据类型 | ||||
pgemailaddr | pgemailaddr |
postgresql-$v$v-pg-emailaddr |
PIGSTY | 0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Email地址数据类型 | ||||
acl | acl |
postgresql-$v-acl |
PIGSTY | 1.0.4 | TYPE |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
ACL数据类型 | ||||
debversion | debversion |
postgresql-$v-debversion |
PGDG | 1.2 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
Debian版本号数据类型 | ||||
pg_rrule | pg_rrule |
postgresql-$v-pg-rrule |
PGDG | 0.2.0 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
日历重复规则RRULE数据类型 | ||||
timestamp9 | timestamp9 |
postgresql-$v-timestamp9 |
PIGSTY | 1.4.0 | TYPE |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
纳秒分辨率时间戳 | ||||
chkpass | chkpass |
postgresql-$v-chkpass |
PIGSTY | 1.0 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
数据类型:自动加密的密码 | ||||
isn | isn |
postgresql-$v |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于国际产品编号标准的数据类型 | ||||
seg | seg |
postgresql-$v |
CONTRIB | 1.4 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
表示线段或浮点间隔的数据类型 | ||||
cube | cube |
postgresql-$v |
CONTRIB | 1.5 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于存储多维立方体的数据类型 | ||||
ltree | ltree |
postgresql-$v |
CONTRIB | 1.2 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于表示分层树状结构的数据类型 | ||||
hstore | hstore |
postgresql-$v |
CONTRIB | 1.8 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于存储(键,值)对集合的数据类型 | ||||
citext | citext |
postgresql-$v |
CONTRIB | 1.6 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供大小写不敏感的字符串类型 | ||||
xml2 | xml2 |
postgresql-$v |
CONTRIB | 1.1 | TYPE |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
XPath 查询和 XSLT | ||||
topn | topn |
postgresql-$v-topn |
PGDG | 2.6.0 | FUNC |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
top-n JSONB 的类型 | ||||
gzip | pg_gzip |
postgresql-$v-gzip |
PIGSTY | 1.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL执行Gzip压缩与解压缩 | ||||
zstd | pg_zstd |
postgresql-$v-pg-zstd |
PIGSTY | 1.1.0 | FUNC |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
ZSTD压缩解压缩函数包 | ||||
http | pg_http |
postgresql-$v-http |
PGDG | 1.6 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
HTTP客户端,允许在数据库内收发HTTP请求 (supabase) | ||||
pg_net | pg_net |
postgresql-$v-pg-net |
PIGSTY | 0.9.2 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
用 SQL 进行异步非阻塞HTTP/HTTPS 请求的扩展 (supabase) | ||||
pg_html5_email_address | pg_html5_email_address |
postgresql-$v-pg-html5-email-address |
PIGSTY | 1.2.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
验证Email是否符合HTML5规范的扩展 | ||||
pgsql_tweaks | pgsql_tweaks |
postgresql-$v-pgsql-tweaks |
PIGSTY | 0.10.6 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些日常会用到的便利函数与视图 | ||||
pg_extra_time | pg_extra_time |
postgresql-$v-pg-extra-time |
PIGSTY | 1.1.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些关于日期与时间的扩展函数 | ||||
timeit | pg_timeit |
postgresql-$v-pg-timeit |
PIGSTY | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL语句执行高精度计时 | ||||
count_distinct | count_distinct |
postgresql-$v-count-distinct |
PIGSTY | 3.0.1 | FUNC |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
COUNT(DISTINCT …) 聚合的替代方案 | ||||
extra_window_functions | extra_window_functions |
postgresql-$v-extra-window-functions |
PGDG | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
额外的窗口函数 | ||||
first_last_agg | first_last_agg |
postgresql-$v-first-last-agg |
PGDG | 0.1.4 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
first() 与 last() 聚合函数 | ||||
tdigest | tdigest |
postgresql-$v-tdigest |
PGDG | 1.4.1 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
tdigest 聚合函数 | ||||
aggs_for_vecs | aggs_for_vecs |
postgresql-$v-aggs-for-vecs |
PIGSTY | 1.3.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
针对数组类型的聚合函数集合扩展 | ||||
aggs_for_arrays | aggs_for_arrays |
postgresql-$v-aggs-for-arrays |
PIGSTY | 1.3.2 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
计算数组聚合统计值的函数包 | ||||
arraymath | pg_arraymath |
postgresql-$v-pg-arraymath |
PIGSTY | 1.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
数组逐元素数学运算符包 | ||||
quantile | quantile |
postgresql-$v-quantile |
PIGSTY | 1.1.7 | FUNC |
BSD | 17 ,16 ,15 ,14 ,13 ,12 |
Quantile聚合函数 | ||||
lower_quantile | lower_quantile |
postgresql-$v-lower-quantile |
PIGSTY | 1.0.0 | FUNC |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
Lower Quantile 聚合函数 | ||||
pg_idkit | pg_idkit |
postgresql-$v-pg-idkit |
PIGSTY | 0.2.4 | FUNC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
生成各式各样的唯一标识符:UUIDv6, ULID, KSUID | ||||
pg_uuidv7 | pg_uuidv7 |
postgresql-$v-pg-uuidv7 |
PIGSTY | 1.6 | FUNC |
MPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
UUIDv7 支持 | ||||
permuteseq | permuteseq |
postgresql-$v-permuteseq |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
伪随机数ID置换生成器 | ||||
pg_hashids | pg_hashids |
postgresql-$v-pg-hashids |
PIGSTY | 1.3 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
加盐将整型ID转为短字符串ID | ||||
sequential_uuids | sequential_uuids |
postgresql-$v-sequential-uuids |
PIGSTY | 1.0.2 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
生成连续生成的UUID | ||||
pg_math | pg_math |
postgresql-$v-pg-math |
PIGSTY | 1.0 | FUNC |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
使用GSL库的数学统计函数 | ||||
random | pg_random |
postgresql-$v-random |
PIGSTY | 2.0.0-dev | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
随机数生成器 | ||||
base36 | pg_base36 |
postgresql-$v-base36 |
PIGSTY | 1.0.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base36编码解码扩展 | ||||
base62 | pg_base62 |
postgresql-$v-base62 |
PIGSTY | 0.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base62编码解码扩展 | ||||
pg_base58 | pg_base58 |
postgresql-$v-pg-base58 |
PIGSTY | 0.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
Base58 编码/解码函数 | ||||
floatvec | floatvec |
postgresql-$v-floatvec |
PIGSTY | 1.0.1 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
数组类型数学运算扩展 | ||||
financial | pg_financial |
postgresql-$v-pg-financial |
PIGSTY | 1.0.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
金融领域聚合函数 | ||||
pgjwt | pgjwt |
postgresql-$v-pgjwt |
PIGSTY | 0.2.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
JSON Web Token API 的PG实现 (supabase) | ||||
pg_hashlib | pg_hashlib |
postgresql-$v-pg-hashlib |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
稳定哈希函数包 | ||||
shacrypt | shacrypt |
postgresql-$v-shacrypt |
PIGSTY | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实现SHA256-CRYPT与SHA512-CRYPT密钥加密算法 | ||||
cryptint | cryptint |
postgresql-$v-cryptint |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
加密INT与BIGINT类型 | ||||
pguecc | pg_ecdsa |
postgresql-$v-pg-ecdsa |
PIGSTY | 1.0 | FUNC |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL的uECC绑定,椭圆曲线加解密函数包 | ||||
pgpcre | pgpcre |
postgresql-$v-pgpcre |
PGDG | 1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PCRE/Perl风格的正则表达式支持 | ||||
icu_ext | icu_ext |
postgresql-$v-icu-ext |
PGDG | 1.9 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
访问ICU库提供的函数 | ||||
pgqr | pgqr |
postgresql-$v-pgqr |
PIGSTY | 1.0 | FUNC |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库中直接生成QR二维码 | ||||
envvar | envvar |
postgresql-$v-pg-envvar |
PIGSTY | 1.0.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
获取环境变量的函数 | ||||
pg_protobuf | pg_protobuf |
postgresql-$v-pg-protobuf |
PIGSTY | 1.0 | FUNC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
提供Protobuf函数支持 | ||||
url_encode | url_encode |
postgresql-$v-url-encode |
PIGSTY | 1.2 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供URL编码解码函数 | ||||
refint | refint |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实现引用完整性的函数 | ||||
autoinc | autoinc |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于自动递增字段的函数 | ||||
insert_username | insert_username |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于跟踪谁更改了表的函数 | ||||
moddatetime | moddatetime |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪最后修改时间 | ||||
tsm_system_time | tsm_system_time |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
接受毫秒数限制的 TABLESAMPLE 方法 | ||||
dict_xsyn | dict_xsyn |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于扩展同义词处理的文本搜索字典模板 | ||||
tsm_system_rows | tsm_system_rows |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
接受行数限制的 TABLESAMPLE 方法 | ||||
tcn | tcn |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用触发器通知变更 | ||||
uuid-ossp | uuid-ossp |
postgresql-$v |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
生成通用唯一标识符(UUIDs) | ||||
btree_gist | btree_gist |
postgresql-$v |
CONTRIB | 1.7 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用GiST索引常见数据类型 | ||||
btree_gin | btree_gin |
postgresql-$v |
CONTRIB | 1.3 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用GIN索引常见数据类型 | ||||
intarray | intarray |
postgresql-$v |
CONTRIB | 1.5 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
1维整数数组的额外函数、运算符和索引支持 | ||||
intagg | intagg |
postgresql-$v |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
整数聚合器和枚举器(过时) | ||||
dict_int | dict_int |
postgresql-$v |
CONTRIB | 1.0 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于整数的文本搜索字典模板 | ||||
unaccent | unaccent |
postgresql-$v |
CONTRIB | 1.1 | FUNC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
删除重音的文本搜索字典 | ||||
pg_repack | pg_repack |
postgresql-$v-repack |
PGDG | 1.5.0 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
在线垃圾清理与表膨胀治理 | ||||
pg_squeeze | pg_squeeze |
postgresql-$v-squeeze |
PGDG | 1.7 | ADMIN |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
从关系中删除未使用空间 | ||||
pg_dirtyread | pg_dirtyread |
postgresql-$v-dirtyread |
PGDG | 2 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
从表中读取尚未垃圾回收的行 | ||||
pgfincore | pgfincore |
postgresql-$v-pgfincore |
PGDG | 1.3.1 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
检查和管理操作系统缓冲区缓存 | ||||
pgdd | pgdd |
postgresql-$v-pgdd |
PIGSTY | 0.5.2 | ADMIN |
MIT | 16 ,15 ,14 ,13 ,12 |
提供通过标准SQL查询数据库目录集簇的能力 | ||||
ddlx | ddlx |
postgresql-$v-ddlx |
PIGSTY | 0.27 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提取数据库对象的DDL | ||||
prioritize | pg_prioritize |
postgresql-16-prioritize |
PGDG | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
获取和设置 PostgreSQL 后端的优先级 | ||||
pg_checksums | pg_checksums |
postgresql-$v-pg-checksums |
PGDG | 1.1 | ADMIN |
BSD 2 | 16 ,15 ,14 ,13 ,12 |
在离线模式下激活/启用/禁用数据库集群的校验和功能 | ||||
pg_readonly | pg_readonly |
postgresql-$v-pg-readonly |
PGDG | 1.0.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
将集群设置为只读 | ||||
safeupdate | safeupdate |
postgresql-$v-pg-safeupdate |
PGDG | 1.4 | ADMIN |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
强制在 UPDATE 和 DELETE 时提供 Where 条件 | ||||
pg_permissions | pg_permissions |
postgresql-$v-pg-permissions |
PIGSTY | 1.3 | ADMIN |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
查看对象权限并将其与期望状态进行比较 | ||||
pgautofailover | pgautofailover |
postgresql-16-auto-failover |
PGDG | 2.1 | ADMIN |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PG 自动故障迁移 | ||||
pg_catcheck | pg_catcheck |
postgresql-$v-pg-catcheck |
PGDG | 1.4.0 | ADMIN |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用于诊断系统目录是否损坏的工具 | ||||
pre_prepare | preprepare |
postgresql-$v-preprepare |
PGDG | 0.4 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在服务端预先准备好PreparedStatement备用 | ||||
pgcozy | pgcozy |
postgresql-$v-pgcozy |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
根据先前的pg_buffercache快照预热内存缓冲区 | ||||
pg_orphaned | pg_orphaned |
postgresql-$v-pg-orphaned |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
处理孤儿文件的扩展插件 | ||||
pg_crash | pg_crash |
postgresql-$v-pg-crash |
PIGSTY | 1.0 | ADMIN |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
向数据库进程随机发送信号模拟故障 | ||||
pg_cheat_funcs | pg_cheat_funcs |
postgresql-$v-pg-cheat-funcs |
PIGSTY | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
一些超级实用的作弊函数 | ||||
pg_savior | pg_savior |
postgresql-$v-pg-savior |
PIGSTY | 0.0.1 | ADMIN |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 |
阻止不带条件的全表更新以避免意外事故 | ||||
table_log | table_log |
postgresql-$v-tablelog |
PGDG | 0.6.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
记录某张表的修改日志并做表/行级时间点恢复 | ||||
pg_fio | pg_fio |
postgresql-$v-pg-fio |
PIGSTY | 1.0 | ADMIN |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL文件IO函数包 | ||||
pgpool_adm | pgpool |
postgresql-$v-pgpool2 |
PGDG | 1.5 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool 管理函数 | ||||
pgpool_recovery | pgpool |
postgresql-$v-pgpool2 |
PGDG | 1.4 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool辅助扩展,从v4.3提供的恢复函数 | ||||
pgpool_regclass | pgpool |
postgresql-$v-pgpool2 |
PGDG | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PGPool辅助扩展,RegClass替代 | ||||
pgagent | pgagent |
pgagent |
PGDG | 4.2 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL任务调度工具,与PGADMIN配合使用 | ||||
vacuumlo | vacuumlo |
postgresql-$v |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从PostgreSQL中移除孤儿数据库文件的实用命令行工具 | ||||
pg_prewarm | pg_prewarm |
postgresql-$v |
CONTRIB | 1.2 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
预热关系数据 | ||||
oid2name | oid2name |
postgresql-$v |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于检查PG文件结构的实用命令行工具 | ||||
lo | lo |
postgresql-$v |
CONTRIB | 1.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
大对象维护 | ||||
basic_archive | basic_archive |
postgresql-$v |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 |
归档模块样例 | ||||
basebackup_to_shell | basebackup_to_shell |
postgresql-$v |
CONTRIB | 16.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 |
添加一种备份到Shell终端到基础备份方式 | ||||
old_snapshot | old_snapshot |
postgresql-$v |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 |
支持 old_snapshot_threshold 的实用程序 | ||||
adminpack | adminpack |
postgresql-$v |
CONTRIB | 2.1 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 管理函数集合 | ||||
amcheck | amcheck |
postgresql-$v |
CONTRIB | 1.3 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
校验关系完整性 | ||||
pg_surgery | pg_surgery |
postgresql-$v |
CONTRIB | 1.0 | ADMIN |
PostgreSQL | 17 ,16 ,15 ,14 |
对损坏的关系进行手术 | ||||
pg_profile | pg_profile |
postgresql-$v-pg-profile |
PIGSTY | 4.7 | STAT |
BSD 2 | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 数据库负载记录与AWR报表工具 | ||||
pg_show_plans | pg_show_plans |
postgresql-$v-show-plans |
PGDG | 2.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
打印所有当前正在运行查询的执行计划 | ||||
pg_stat_kcache | pg_stat_kcache |
postgresql-$v-pg-stat-kcache |
PGDG | 2.3.0 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
内核统计信息收集 | ||||
pg_stat_monitor | pg_stat_monitor |
postgresql-$v-pg-stat-monitor |
PIGSTY | 2.1 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供查询聚合统计、客户端信息、执行计划详细信息和直方图 | ||||
pg_qualstats | pg_qualstats |
postgresql-$v-pg-qualstats |
PGDG | 2.1.1 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
收集有关 quals 的统计信息的扩展 | ||||
pg_store_plans | pg_store_plans |
postgresql-$v-pg-store-plan |
PIGSTY | 1.8 | STAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
跟踪所有执行的 SQL 语句的计划统计信息 | ||||
pg_track_settings | pg_track_settings |
postgresql-$v-pg-track-settings |
PGDG | 2.1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪设置更改 | ||||
pg_wait_sampling | pg_wait_sampling |
postgresql-$v-pg-wait-sampling |
PGDG | 1.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于采样的等待事件统计 | ||||
system_stats | system_stats |
postgresql-$v-system-stats |
PIGSTY | 3.0 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 的系统统计函数 | ||||
meta | pg_meta |
postgresql-$v-pg-meta |
PIGSTY | 0.4.0 | STAT |
BSD-2 | 17 ,16 ,15 ,14 ,13 ,12 |
标准化,更友好的PostgreSQL系统目录视图 | ||||
pgnodemx | pgnodemx |
postgresql-$v-pgnodemx |
PIGSTY | 1.7 | STAT |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL查询获取操作系统指标 | ||||
pg_proctab | pgnodemx |
postgresql-$v-pgnodemx |
PIGSTY | 0.0.10-compat | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
通过SQL接口访问操作系统进程表 | ||||
pg_sqlog | pg_sqlog |
postgresql-$v-pg-sqlog |
PIGSTY | 1.6 | STAT |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
提供访问PostgreSQL日志的SQL接口 | ||||
bgw_replstatus | bgw_replstatus |
postgresql-$v-bgw-replstatus |
PGDG | 1.0.6 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于汇报本机主从状态的后台工作进程 | ||||
pgmeminfo | pgmeminfo |
postgresql-$v-pgmeminfo |
PIGSTY | 1.0 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
显示内存使用情况 | ||||
toastinfo | toastinfo |
postgresql-$v-toastinfo |
PIGSTY | 1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示TOAST字段的详细信息 | ||||
explain_ui | pg_explain_ui |
postgresql-$v-pg-explain-ui |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
快速跳转至PEV查阅可视化执行计划 | ||||
pg_relusage | pg_relusage |
postgresql-$v-pg-relusage |
PIGSTY | 0.0.1 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
打印查询引用的表与列 | ||||
pg_mon | pg_mon |
postgresql-$v-pg-mon |
PIGSTY | 1.0 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
查看正在执行中的查询状态 | ||||
pg_statviz | pg_statviz |
postgresql-$v-statviz |
PGDG | 0.6 | STAT |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
可视化统计指标并分析时间序列 | ||||
pagevis | pagevis |
postgresql-$v-pagevis |
PIGSTY | 0.1 | STAT |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用ASCII字符可视化数据库物理页面布局 | ||||
powa | powa |
postgresql-$v-powa |
PGDG | 4.2.2 | STAT |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
PostgreSQL 工作负载分析器-核心 | ||||
pageinspect | pageinspect |
postgresql-$v |
CONTRIB | 1.12 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查数据库页面二进制内容 | ||||
pgrowlocks | pgrowlocks |
postgresql-$v |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示行级锁信息 | ||||
sslinfo | sslinfo |
postgresql-$v |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
关于 SSL 证书的信息 | ||||
pg_buffercache | pg_buffercache |
postgresql-$v |
CONTRIB | 1.4 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查共享缓冲区缓存 | ||||
pg_walinspect | pg_walinspect |
postgresql-$v |
CONTRIB | 1.1 | STAT |
PostgreSQL | 17 ,16 ,15 |
用于检查 PostgreSQL WAL 日志内容的函数 | ||||
pg_freespacemap | pg_freespacemap |
postgresql-$v |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查自由空间映射的内容(FSM) | ||||
pg_visibility | pg_visibility |
postgresql-$v |
CONTRIB | 1.2 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
检查可见性图(VM)和页面级可见性信息 | ||||
pgstattuple | pgstattuple |
postgresql-$v |
CONTRIB | 1.5 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
显示元组级统计信息 | ||||
auto_explain | auto_explain |
postgresql-$v |
CONTRIB | 16.3 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供一种自动记录执行计划的手段 | ||||
pg_stat_statements | pg_stat_statements |
postgresql-$v |
CONTRIB | 1.10 | STAT |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
跟踪所有执行的 SQL 语句的计划和执行统计信息 | ||||
passwordcheck_cracklib | passwordcheck |
postgresql-$v-passwordcheck-cracklib |
PIGSTY | 3.0.0 | SEC |
LGPLv2 | 17 ,16 ,15 ,14 ,13 ,12 |
使用cracklib加固PG用户密码 | ||||
supautils | supautils |
postgresql-$v-supautils |
PIGSTY | 2.5.0 | SEC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 |
用于在云环境中确保数据库集群的安全 | ||||
pgsodium | pgsodium |
postgresql-$v-pgsodium |
PIGSTY | 3.1.9 | SEC |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
表数据加密存储 TDE | ||||
supabase_vault | pg_vault |
postgresql-$v-vault |
PIGSTY | 0.2.8 | SEC |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
在 Vault 中存储加密凭证的扩展 (supabase) | ||||
anon | anonymizer |
postgresql-$v-anonymizer |
PIGSTY | 1.3.2 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
数据匿名化处理工具 | ||||
pg_tde | pg_tde |
postgresql-$v-pg-tde |
PIGSTY | 1.0 | SEC |
MIT | 16 |
试点性质的加密存储引擎 | ||||
pgsmcrypto | pgsmcrypto |
postgresql-$v-pgsmcrypto |
PIGSTY | 0.1.0 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
为PostgreSQL提供商密算法支持:SM2,SM3,SM4 | ||||
pgaudit | pgaudit |
postgresql-$v-pgaudit |
PGDG | 16.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供审计功能 | ||||
pgauditlogtofile | pgauditlogtofile |
postgresql-$v-pgauditlogtofile |
PGDG | 1.6 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
pgAudit 子扩展,将审计日志写入单独的文件中 | ||||
pg_auth_mon | pg_auth_mon |
postgresql-$v-pg-auth-mon |
PIGSTY | 1.1 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
监控每个用户的连接尝试 | ||||
credcheck | credcheck |
postgresql-$v-credcheck |
PGDG | 2.7.0 | SEC |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
明文凭证检查器 | ||||
pgcryptokey | pgcryptokey |
postgresql-$v-pgcryptokey |
PIGSTY | 1.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PG密钥管理 | ||||
pg_jobmon | pg_jobmon |
postgresql-$v-pg-jobmon |
PIGSTY | 1.4.1 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
记录和监控函数 | ||||
logerrors | logerrors |
postgresql-$v-logerrors |
PIGSTY | 2.1 | SEC |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用于收集日志文件中消息统计信息的函数 | ||||
login_hook | login_hook |
postgresql-$v-login-hook |
PIGSTY | 1.6 | SEC |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
在用户登陆时执行login_hook.login()函数 | ||||
set_user | set_user |
postgresql-$v-set-user |
PGDG | 4.1.0 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
增加了日志记录的 SET ROLE | ||||
pg_snakeoil | pg_snakeoil |
postgresql-$v-snakeoil |
PGDG | 1 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL动态链接库反病毒功能 | ||||
pgextwlist | pgextwlist |
postgresql-$v-pgextwlist |
PIGSTY | 1.17 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL扩展白名单功能 | ||||
pg_auditor | pg_auditor |
postgresql-$v-pg-auditor |
PIGSTY | 0.2 | SEC |
BSD-3 | 17 ,16 ,15 ,14 ,13 ,12 |
审计数据变更并提供闪回能力 | ||||
sslutils | sslutils |
postgresql-$v-sslutils |
PIGSTY | 1.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
使用SQL管理SSL证书 | ||||
noset | noset |
postgresql-$v-noset |
PIGSTY | 0.3.0 | SEC |
AGPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
阻止非超级用户使用SET/RESET设置变量 | ||||
sepgsql | sepgsql |
postgresql-$v |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于SELinux标签的强制访问控制 | ||||
auth_delay | auth_delay |
postgresql-$v |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在返回认证失败前暂停一会,避免爆破 | ||||
pgcrypto | pgcrypto |
postgresql-$v |
CONTRIB | 1.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
实用加解密函数 | ||||
passwordcheck | passwordcheck |
postgresql-$v |
CONTRIB | 16.3 | SEC |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于强制拒绝修改弱密码的扩展 | ||||
wrappers | wrappers |
postgresql-$v-wrappers |
PIGSTY | 0.4.3 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 |
Supabase提供的外部数据源包装器捆绑包 | ||||
mysql_fdw | mysql_fdw |
postgresql-$v-mysql-fdw |
PGDG | 1.2 | FDW |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
MySQL外部数据包装器 | ||||
oracle_fdw | oracle_fdw |
postgresql-$v-oracle-fdw |
PGDG | 1.2 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
提供对Oracle的外部数据源包装器 | ||||
tds_fdw | tds_fdw |
postgresql-$v-tds-fdw |
PGDG | 2.0.4 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
TDS 数据库(Sybase/SQL Server)外部数据包装器 | ||||
sqlite_fdw | sqlite_fdw |
postgresql-$v-sqlite-fdw |
PGDG | 1.1 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
SQLite 外部数据包装器 | ||||
redis_fdw | redis_fdw |
postgresql-$v-redis-fdw |
PIGSTY | 1.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
查询外部Redis数据源 | ||||
redis | pg_redis_pubsub |
postgresql-$v-pg-redis-pubsub |
PIGSTY | 0.0.1 | FDW |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
从PG向Redis发送Pub/Sub消息 | ||||
kafka_fdw | kafka_fdw |
postgresql-$v-kafka-fdw |
PIGSTY | 0.0.3 | FDW |
PostgreSQL | 16 ,15 ,14 ,13 ,12 |
Kafka外部数据源包装器 | ||||
aws_s3 | aws_s3 |
postgresql-$v-aws-s3 |
PIGSTY | 0.0.1 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 ,13 ,12 |
从S3导入导出数据的外部数据源包装器 | ||||
log_fdw | log_fdw |
postgresql-$v-log-fdw |
PIGSTY | 1.4 | FDW |
Apache-2.0 | 17 ,16 ,15 ,14 |
访问PostgreSQL日志文件的FDW | ||||
dblink | dblink |
postgresql-$v |
CONTRIB | 1.2 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从数据库内连接到其他 PostgreSQL 数据库 | ||||
file_fdw | file_fdw |
postgresql-$v |
CONTRIB | 1.0 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
访问外部文件的外部数据包装器 | ||||
postgres_fdw | postgres_fdw |
postgresql-$v |
CONTRIB | 1.1 | FDW |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于远程 PostgreSQL 服务器的外部数据包装器 | ||||
orafce | orafce |
postgresql-$v-orafce |
PGDG | 4.13 | SIM |
BSD 0 | 17 ,16 ,15 ,14 ,13 ,12 |
模拟 Oracle RDBMS 的一部分函数和包的函数和运算符 | ||||
pgtt | pgtt |
postgresql-$v-pgtt |
PGDG | 4.0.0 | SIM |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
类似Oracle的全局临时表功能 | ||||
session_variable | session_variable |
postgresql-$v-session-variable |
PIGSTY | 3.4 | SIM |
GPLv3 | 17 ,16 ,15 ,14 ,13 ,12 |
Oracle兼容的会话变量/常量操作函数 | ||||
pg_statement_rollback | pg_statement_rollback |
postgresql-$v-pg-statement-rollback |
PIGSTY | 1.4 | SIM |
ISC | 17 ,16 ,15 ,14 ,13 ,12 |
在服务端提供类似Oracle/DB2的语句级回滚能力 | ||||
babelfishpg_common | babelfishpg_common |
babelfishpg-common |
WILTON | 3.3.3 | SIM |
Apache-2.0 | 15 |
SQL Server 数据类型兼容扩展 | ||||
babelfishpg_tsql | babelfishpg_tsql |
babelfishpg-tsql |
WILTON | 3.3.1 | SIM |
Apache-2.0 | 15 |
SQL Server SQL语法兼容性扩展 | ||||
babelfishpg_tds | babelfishpg_tds |
babelfishpg-tds |
WILTON | 1.0.0 | SIM |
Apache-2.0 | 15 |
SQL Server TDS线缆协议兼容扩展 | ||||
babelfishpg_money | babelfishpg_money |
babelfishpg-money |
WILTON | 1.1.0 | SIM |
Apache-2.0 | 15 |
SQL Server 货币数据类型兼容扩展 | ||||
pgmemcache | pgmemcache |
postgresql-$v-pgmemcache |
PGDG | 2.3.0 | SIM |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
为PG提供memcached兼容接口 | ||||
pglogical | pglogical |
postgresql-$v-pglogical* |
PGDG | 2.4.4 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL逻辑复制:三方扩展实现 | ||||
pglogical_origin | pglogical |
postgresql-$v-pglogical* |
PGDG | 1.0.0 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
用于从 Postgres 9.4 升级时的兼容性虚拟扩展 | ||||
pglogical_ticker | pglogical |
postgresql-$v-pglogical* |
PGDG | 1.4 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
pglogical复制延迟的精确视图 | ||||
pgl_ddl_deploy | pgl_ddl_deploy |
postgresql-$v-pgl-ddl-deploy |
PGDG | 2.2 | ETL |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
使用 pglogical 执行自动 DDL 部署 | ||||
pg_failover_slots | pg_failover_slots |
postgresql-$v-pg-failover-slots |
PIGSTY | 1.0.1 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在Failover过程中保留复制槽 | ||||
wal2json | wal2json |
postgresql-$v-wal2json |
PGDG | 2.5.3 | ETL |
BSD 3 | 17 ,16 ,15 ,14 ,13 ,12 |
用逻辑解码捕获 JSON 格式的 CDC 变更 | ||||
wal2mongo | wal2mongo |
postgresql-$v-wal2mongo |
PIGSTY | 1.0.7 | ETL |
Apache-2.0 | 16 ,15 ,14 ,13 |
使用逻辑解码捕获MongoDB JSON格式的CDC变更 | ||||
decoderbufs | decoderbufs |
postgresql-$v-decoderbufs |
PGDG | 0.1.0 | ETL |
MIT | 16 ,15 ,14 ,13 ,12 |
将WAL逻辑解码为ProtocolBuffer协议的消息 | ||||
decoder_raw | decoder_raw |
postgresql-$v-decoder-raw |
PIGSTY | 1.0 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
逻辑复制解码输出插件:RAW SQL格式 | ||||
test_decoding | test_decoding |
postgresql-$v |
CONTRIB | 16.3 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
基于SQL的WAL逻辑解码样例 | ||||
mimeo | mimeo |
postgresql-$v-mimeo |
PGDG | 1.5.1 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
在PostgreSQL实例间进行表级复制 | ||||
repmgr | repmgr |
postgresql-$v-repmgr |
PGDG | 5.4 | ETL |
GPLv3 | 16 ,15 ,14 ,13 ,12 |
PostgreSQL复制管理组件 | ||||
pgcopydb | pgcopydb |
pgcopydb |
PIGSTY | 0.15 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
将一个PostgreSQL数据库拷贝至目标服务器 | ||||
pgloader | pgloader |
pgloader |
PGDG | 3.6.10 | ETL |
PostgreSQL | 17 ,16 ,15 ,14 ,13 ,12 |
从MySQL/SQLite/MSSQL一键迁移至PostgreSQL! | ||||
pg_fact_loader | pg_fact_loader |
postgresql-$v-pg-fact-loader |
PGDG | 2.0 | ETL |
MIT | 17 ,16 ,15 ,14 ,13 ,12 |
在 Postgres 中构建事实表 | ||||
pg_bulkload | pg_bulkload |
postgresql-$v-pg-bulkload |
PIGSTY | 3.1.21 | ETL |
BSD 3 | 16 ,15 ,14 ,13 ,12 |
向 PostgreSQL 中高速加载数据 |
2.4 - Contrib 扩展清单
PostgreSQL 最新的 16/17 大版本自带了 70 个 Contrib 扩展,全部来自 Contrib 模块,使用 PostgreSQL 开源许可证。
扩展名(官网) | 标准名(简介) | 版本 | 类目 | PG大版本支持 | LOAD |
DDL |
DBSU |
RELOC |
简介 |
---|---|---|---|---|---|---|---|---|---|
earthdistance | earthdistance |
1.1 | GIS |
17 ,16 ,15 ,14 ,13 ,12 |
计算地球表面上的大圆距离 | ||||
fuzzystrmatch | fuzzystrmatch |
1.2 | FTS |
17 ,16 ,15 ,14 ,13 ,12 |
确定字符串之间的相似性和距离 | ||||
pg_trgm | pg_trgm |
1.6 | FTS |
17 ,16 ,15 ,14 ,13 ,12 |
文本相似度测量函数与模糊检索 | ||||
tablefunc | tablefunc |
1.0 | OLAP |
17 ,16 ,15 ,14 ,13 ,12 |
交叉表函数 | ||||
bloom | bloom |
1.0 | FEAT |
17 ,16 ,15 ,14 ,13 ,12 |
bloom 索引-基于指纹的索引 | ||||
pltcl | pltcl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言 | ||||
pltclu | pltcl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/TCL 存储过程语言(未受信/高权限) | ||||
plperl | plperl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/Perl 存储过程语言 | ||||
bool_plperl | plperl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperl 之间转换 | ||||
hstore_plperl | plperl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperl 之间转换适配类型 | ||||
jsonb_plperl | plperl |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperl 之间转换 | ||||
plperlu | plperlu |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/PerlU 存储过程语言(未受信/高权限) | ||||
bool_plperlu | plperlu |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 bool 和 plperlu 之间转换 | ||||
jsonb_plperlu | plperlu |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plperlu 之间转换 | ||||
hstore_plperlu | plperlu |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plperlu 之间转换适配类型 | ||||
plpgsql | plpgsql |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/pgSQL 程序设计语言 | ||||
plpython3u | plpython3u |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
PL/Python3 存储过程语言(未受信/高权限) | ||||
jsonb_plpython3u | plpython3u |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 jsonb 和 plpython3u 之间转换 | ||||
ltree_plpython3u | plpython3u |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 ltree 和 plpython3u 之间转换 | ||||
hstore_plpython3u | plpython3u |
1.0 | LANG |
17 ,16 ,15 ,14 ,13 ,12 |
在 hstore 和 plpython3u 之间转换 | ||||
isn | isn |
1.2 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
用于国际产品编号标准的数据类型 | ||||
seg | seg |
1.4 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
表示线段或浮点间隔的数据类型 | ||||
cube | cube |
1.5 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
用于存储多维立方体的数据类型 | ||||
ltree | ltree |
1.2 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
用于表示分层树状结构的数据类型 | ||||
hstore | hstore |
1.8 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
用于存储(键,值)对集合的数据类型 | ||||
citext | citext |
1.6 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
提供大小写不敏感的字符串类型 | ||||
xml2 | xml2 |
1.1 | TYPE |
17 ,16 ,15 ,14 ,13 ,12 |
XPath 查询和 XSLT | ||||
refint | refint |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
实现引用完整性的函数 | ||||
autoinc | autoinc |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用于自动递增字段的函数 | ||||
insert_username | insert_username |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用于跟踪谁更改了表的函数 | ||||
moddatetime | moddatetime |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
跟踪最后修改时间 | ||||
tsm_system_time | tsm_system_time |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
接受毫秒数限制的 TABLESAMPLE 方法 | ||||
dict_xsyn | dict_xsyn |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用于扩展同义词处理的文本搜索字典模板 | ||||
tsm_system_rows | tsm_system_rows |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
接受行数限制的 TABLESAMPLE 方法 | ||||
tcn | tcn |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用触发器通知变更 | ||||
uuid-ossp | uuid-ossp |
1.1 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
生成通用唯一标识符(UUIDs) | ||||
btree_gist | btree_gist |
1.7 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用GiST索引常见数据类型 | ||||
btree_gin | btree_gin |
1.3 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用GIN索引常见数据类型 | ||||
intarray | intarray |
1.5 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
1维整数数组的额外函数、运算符和索引支持 | ||||
intagg | intagg |
1.1 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
整数聚合器和枚举器(过时) | ||||
dict_int | dict_int |
1.0 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
用于整数的文本搜索字典模板 | ||||
unaccent | unaccent |
1.1 | FUNC |
17 ,16 ,15 ,14 ,13 ,12 |
删除重音的文本搜索字典 | ||||
vacuumlo | vacuumlo |
16.3 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
从PostgreSQL中移除孤儿数据库文件的实用命令行工具 | ||||
pg_prewarm | pg_prewarm |
1.2 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
预热关系数据 | ||||
oid2name | oid2name |
16.3 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
用于检查PG文件结构的实用命令行工具 | ||||
lo | lo |
1.1 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
大对象维护 | ||||
basic_archive | basic_archive |
16.3 | ADMIN |
17 ,16 ,15 |
归档模块样例 | ||||
basebackup_to_shell | basebackup_to_shell |
16.3 | ADMIN |
17 ,16 ,15 |
添加一种备份到Shell终端到基础备份方式 | ||||
old_snapshot | old_snapshot |
1.0 | ADMIN |
17 ,16 ,15 ,14 |
支持 old_snapshot_threshold 的实用程序 | ||||
adminpack | adminpack |
2.1 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
PostgreSQL 管理函数集合 | ||||
amcheck | amcheck |
1.3 | ADMIN |
17 ,16 ,15 ,14 ,13 ,12 |
校验关系完整性 | ||||
pg_surgery | pg_surgery |
1.0 | ADMIN |
17 ,16 ,15 ,14 |
对损坏的关系进行手术 | ||||
pageinspect | pageinspect |
1.12 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
检查数据库页面二进制内容 | ||||
pgrowlocks | pgrowlocks |
1.2 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
显示行级锁信息 | ||||
sslinfo | sslinfo |
1.2 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
关于 SSL 证书的信息 | ||||
pg_buffercache | pg_buffercache |
1.4 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
检查共享缓冲区缓存 | ||||
pg_walinspect | pg_walinspect |
1.1 | STAT |
17 ,16 ,15 |
用于检查 PostgreSQL WAL 日志内容的函数 | ||||
pg_freespacemap | pg_freespacemap |
1.2 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
检查自由空间映射的内容(FSM) | ||||
pg_visibility | pg_visibility |
1.2 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
检查可见性图(VM)和页面级可见性信息 | ||||
pgstattuple | pgstattuple |
1.5 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
显示元组级统计信息 | ||||
auto_explain | auto_explain |
16.3 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
提供一种自动记录执行计划的手段 | ||||
pg_stat_statements | pg_stat_statements |
1.10 | STAT |
17 ,16 ,15 ,14 ,13 ,12 |
跟踪所有执行的 SQL 语句的计划和执行统计信息 | ||||
sepgsql | sepgsql |
16.3 | SEC |
17 ,16 ,15 ,14 ,13 ,12 |
基于SELinux标签的强制访问控制 | ||||
auth_delay | auth_delay |
16.3 | SEC |
17 ,16 ,15 ,14 ,13 ,12 |
在返回认证失败前暂停一会,避免爆破 | ||||
pgcrypto | pgcrypto |
1.3 | SEC |
17 ,16 ,15 ,14 ,13 ,12 |
实用加解密函数 | ||||
passwordcheck | passwordcheck |
16.3 | SEC |
17 ,16 ,15 ,14 ,13 ,12 |
用于强制拒绝修改弱密码的扩展 | ||||
dblink | dblink |
1.2 | FDW |
17 ,16 ,15 ,14 ,13 ,12 |
从数据库内连接到其他 PostgreSQL 数据库 | ||||
file_fdw | file_fdw |
1.0 | FDW |
17 ,16 ,15 ,14 ,13 ,12 |
访问外部文件的外部数据包装器 | ||||
postgres_fdw | postgres_fdw |
1.1 | FDW |
17 ,16 ,15 ,14 ,13 ,12 |
用于远程 PostgreSQL 服务器的外部数据包装器 | ||||
test_decoding | test_decoding |
16.3 | ETL |
17 ,16 ,15 ,14 ,13 ,12 |
基于SQL的WAL逻辑解码样例 |
3 - 构建打包
3.1 - 虚拟机构建环境
准备虚拟机
想要在 EL / Debian 环境下构建 PGML RPM 包,需要准备虚拟机环境,Pigsty 提供 ext.yml
模板,用于准备构建所需的虚拟机环境
cd pigsty
make build
./node.yml -i conf/build/ext.yml -t node_repo,node_pkg
在该配置下,Pigsty 默认提供 EL8,EL9,Debian12,Ubuntu22 四台虚拟机,并安装构建所需的依赖软件包。
代理服务器
如果您的网络条件不佳,最好配置一个 HTTP 代理,例如,假设你的本地环境中,有一台可用的代理服务器: http://192.168.0.106:8118
(需要换成你自己的地址)。那么 EL 环境下的环境变量配置如下:
PROXY=http://192.168.0.107:8118
export HTTP_PROXY=${PROXY}
export HTTPS_PROXY=${PROXY}
export ALL_PROXY=${PROXY}
export NO_PROXY="localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,*.pigsty,*.aliyun.com,mirrors.*,*.myqcloud.com,*.tsinghua.edu.cn"
alias build="HTTPS_PROXY=${PROXY} cargo pgrx package -v"
编辑 ~/.ssh/config
文件,添加代理配置,让 Github git 克隆走 HTTPS 代理(可选):
Host github.com
Hostname ssh.github.com
Port 443
User git
如果以下命令可以成功执行,说明 github
代理配置成功:
ssh -T [email protected]
快捷别名
EL 环境下,可以使用以下 Alias 便捷地切换 PG 环境:
alias pg17="export PATH=/usr/pgsql-17/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
alias pg16="export PATH=/usr/pgsql-16/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
alias pg15="export PATH=/usr/pgsql-15/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
alias pg14="export PATH=/usr/pgsql-14/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
alias pg13="export PATH=/usr/pgsql-13/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
alias pg12="export PATH=/usr/pgsql-12/bin:~/.cargo/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
而 Debian / Ubuntu 环境下则使用以下的 Alias:
alias pg17="export PATH=/usr/lib/postgresql/17/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
alias pg16="export PATH=/usr/lib/postgresql/16/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
alias pg15="export PATH=/usr/lib/postgresql/15/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
alias pg14="export PATH=/usr/lib/postgresql/14/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
alias pg13="export PATH=/usr/lib/postgresql/13/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
alias pg12="export PATH=/usr/lib/postgresql/12/bin:~/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;"
安装构建工具链
在 EL 8 / EL 9 环境中,还需要额外安装 'Development Tools'
组件。其中,EL8 因为依赖错漏问题,需要添加 --nobest
选项才能完成安装。
sudo yum groupinstall --nobest -y 'Development Tools';
rpmdev-setuptree # 在当前用户家目录下创建 rpmbuild 目录
3.2 - 准备 rust 与 pgrx
安装Rust
如果需要构建 Rust 扩展,需要安装 rust
与 pgrx
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
安装 pgrx
,注意 版本
cargo install --locked cargo-pgrx@${PGRX_VER-'0.12.7'} # <---
cargo install --locked cargo-pgrx@${PGRX_VER-'0.11.3'}
cargo install --locked cargo-pgrx@${PGRX_VER-'0.10.2'}
cargo pgrx init
配置 Rust Cargo 使用中国镜像(可选)
mkdir -vp ${CARGO_HOME:-$HOME/.cargo};
cat > ${CARGO_HOME:-$HOME/.cargo}/config << EOF
[source.crates-io]
replace-with = 'mirror'
[source.mirror]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
EOF
env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install stable
Rust扩展清单
Vendor | Name | Version | PGRX | License | PG Ver | Deps |
---|---|---|---|---|---|---|
Supabase | pg_graphql | v1.5.9 | v0.12.5 | Apache-2.0 | 17,16,15 | |
Supabase | pg_jsonschema | v0.3.2 | v0.12.5 | Apache-2.0 | 17,16,15,14,13,12 | |
Supabase | wrappers | v0.4.3 | v0.12.6 | Apache-2.0 | 17,16,15,14 | |
TimescaleDB | vectorscale | v0.3.0 | v0.12.5 | PostgreSQL | 17,16,15,14,13,12 | |
kelvich | pg_tiktoken | v0.0.1 | v0.12.6 | Apache-2.0 | 16,15,14,13,12 | |
PostgresML | pgml | v2.9.3 | v0.11.3 | MIT | 16,15,14 | |
Tembo | pg_vectorize | v0.17.0 | v0.11.3 | PostgreSQL | 16,15,14 | pgmq, pg_cron |
Tembo | pg_later | v0.1.1 | v0.11.3 | PostgreSQL | 16,15,14,13 | pgmq |
kaspermarstal | plprql | v0.1.0 | v0.11.3 | Apache-2.0 | 16,15,14,13,12 | |
VADOSWARE | pg_idkit | v0.2.3 | v0.12.5 | Apache-2.0 | 17,16,15,14,13,12 | |
pgsmcrypto | pgsmcrypto | v0.1.0 | v0.12.6 | MIT | 17,16,15,14,13,12 | |
rustprooflabs | pgdd | v0.5.2 | v0.10.2 | MIT | 16,15,14,13,12 | |
CrunchyData | pg_parquet | v0.1.0 | v0.12.6 | PostgreSQL | 17, 16 |
下载并构建Rust扩展
cd ~;
cd ~; git clone --recursive [email protected]:postgresml/postgresml.git ; cd ~/postgresml && git checkout v2.9.3
cd ~; git clone [email protected]:supabase/pg_graphql.git ; cd ~/pg_graphql #&& git checkout v1.5.8
cd ~; git clone [email protected]:supabase/pg_jsonschema.git ; cd ~/pg_jsonschema #&& git checkout v0.3.2
cd ~; git clone [email protected]:supabase/wrappers.git ; cd ~/wrappers && git checkout v0.4.3
cd ~; git clone [email protected]:Vonng/pgsmcrypto.git ; cd ~/pgsmcrypto
cd ~; git clone [email protected]:Vonng/pg_tiktoken.git ; cd ~/pg_tiktoken
cd ~; git clone [email protected]:VADOSWARE/pg_idkit.git ; cd ~/pg_idkit && git checkout v0.2.4
cd ~; git clone [email protected]:timescale/pgvectorscale.git ; cd ~/pgvectorscale && git checkout 0.4.0
cd ~; git clone [email protected]:tembo-io/pg_vectorize.git ; cd ~/pg_vectorize && git checkout v0.18.3
cd ~; git clone [email protected]:tembo-io/pg_later.git ; cd ~/pg_later && git checkout v0.1.3
cd ~; git clone [email protected]:kaspermarstal/plprql.git ; cd ~/plprql && git checkout v1.0.0
cd ~; git clone [email protected]:rustprooflabs/pgdd.git ; cd ~/pgdd && git checkout 0.5.2
cd ~; [email protected]:CrunchyData/pg_parquet.git ; cd ~/pg_parquet && git checkout 0.1.0
#cd ~; git clone [email protected]:tembo-io/pgmq.git ; cd ~/pgmq && git checkout v1.2.1 #v1.3.3
#cd ~; git clone --recursive https://github.com/paradedb/paradedb.git ; cd ~/paradedb && git checkout v0.8.6
#cd ~/paradedb; cargo update
您可以使用扩展别名,批量构建 Rust 扩展:
# pgrx 0.12.6
cd ~/pg_graphql; pg17 build; pg16 build; pg15 build; pg14 build;
cd ~/pg_jsonschema; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/wrappers/wrappers; pg17 build; pg16 build; pg15 build; pg14 build;
cd ~/pgsmcrypto; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_tiktoken; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_idkit; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
export RUSTFLAGS="-C target-feature=+avx2,+fma"
cd ~/pgvectorscale/pgvectorscale; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build;
# pgrx 0.11.3
cd ~/plprql/plprql; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_later; pg16 build; pg15 build; pg14 build; pg13 build;
cd ~/pg_vectorize/extension; pg16 build; pg15 build; pg14 build;
# pgrx 0.10.2
cd ~/pgdd; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_parquet; pg17 build; pg16 build;
cd ~/pg_polyline; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_explain_ui; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_cardano; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_base58; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
cd ~/pg_summarize; pg17 build; pg16 build; pg15 build; pg14 build; pg13 build; pg12 build;
3.3 - PGML 构建指南
构建 PGML
构建 PostgresML 是相当麻烦的工作,下面是在 EL8 与 EL9 上构建 PGML 的教程。
首先,根据 RPM 构建环境 的说明,配置好 环境与代理,安装 rust
与 pgrx
,特别注意 pgml
使用的 pgrx
版本号。
准备Python3
安装 Python,并设置为默认版本:
sudo yum install python3.11 python3.11-devel python3-virtualenv openssl openssl-devel cmake pkg-config libomp libomp-devel openblas* llvm llvm-devel lld openblas*
sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo alternatives --set python3 /usr/bin/python3.11
sudo alternatives --set python /usr/bin/python3.11
准备代码仓库
克隆 pgml
,并 检出指定版本:
cd ~; git clone --recursive [email protected]:postgresml/postgresml.git;
cd ~/postgresml && git checkout v2.9.3
cd ~/postgresml/pgml-extension
EL8专用编译说明
本节修改在 EL8 上进行,EL9 无需执行此操作。
sudo dnf install gcc-toolset-13
source /opt/rh/gcc-toolset-13/enable
source /opt/rh/gcc-toolset-13/enable
export CC=/opt/rh/gcc-toolset-13/root/usr/bin/gcc
export CXX=/opt/rh/gcc-toolset-13/root/usr/bin/g++
export LD_LIBRARY_PATH=/opt/rh/gcc-toolset-13/root/usr/lib64:$LD_LIBRARY_PATH
在 EL8 上构建时,需要修改 build.rs
文件,在合适的位置添加两行编译选项:
println!("cargo:rustc-link-lib=static=stdc++fs");
println!("cargo:rustc-link-search=native=/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13");
整个文件应该是这样的:
fn main() {
#[cfg(target_os = "macos")]
{
println!("cargo:rustc-link-search=/opt/homebrew/opt/openblas/lib");
println!("cargo:rustc-link-search=/opt/homebrew/opt/libomp/lib");
}
// PostgreSQL is using dlopen(RTLD_GLOBAL). this will parse some
// of symbols into the previous opened .so file, but the others will use a
// relative offset in pgml.so, and will cause a null-pointer crash.
//
// hide all symbol to avoid symbol conflicts.
//
// append mode (link-args) only works with clang ld (lld)
println!(
"cargo:link-args=-Wl,--version-script={}/ld.map",
std::env::current_dir().unwrap().to_string_lossy(),
);
println!("cargo:rustc-link-lib=static=stdc++fs");
println!("cargo:rustc-link-search=native=/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13");
vergen::EmitBuilder::builder().all_git().emit().unwrap();
}
接着修改 Cargo.toml
在 [build-dependencies]
一节中添加:cc = "1.0"
:
[build-dependencies]
+++ cc = "1.0"
开始构建
针对 PostgreSQL 16, 15, 14 构建 PGML:
cd ~/postgresml/pgml-extension; pg16 build; pg15 build; pg14 build;
将构建产物放置于 ~/rpmbuild/SOURCES
目录备用
rm -rf ~/rpmbuild/SOURCES/pgml_16; cp -r ~/postgresml/pgml-extension/target/release/pgml-pg16 ~/rpmbuild/SOURCES/pgml_16;
rm -rf ~/rpmbuild/SOURCES/pgml_15; cp -r ~/postgresml/pgml-extension/target/release/pgml-pg15 ~/rpmbuild/SOURCES/pgml_15;
rm -rf ~/rpmbuild/SOURCES/pgml_14; cp -r ~/postgresml/pgml-extension/target/release/pgml-pg14 ~/rpmbuild/SOURCES/pgml_14;
使用 pgml.spec
执行 RPM 打包:
cd ~/rpmbuild/SPECS && make pgml
# 或手工进行构建:
rm -rf ~/rpmbuild/RPMS/x86_64/pgml*.rpm;
rpmbuild --without debuginfo --define "pgmajorversion 16" -ba ~/rpmbuild/SPECS/pgml.spec
rpmbuild --without debuginfo --define "pgmajorversion 15" -ba ~/rpmbuild/SPECS/pgml.spec
rpmbuild --without debuginfo --define "pgmajorversion 14" -ba ~/rpmbuild/SPECS/pgml.spec
3.4 - PLv8 构建指南
构建plv8
安装依赖 (EL):
sudo yum groupinstall --nobest -y 'Development Tools';
sudo yum install git cmake
克隆代码:
rpmdev-setuptree
cd ~/rpmbuild/SOURCES/
git clone [email protected]:plv8/plv8.git
cd plv8; git checkout v3.2.2
make -j16
基于第一段编译产物,针对不同 PG 大版本制作 RPM 包:
rpmbuild --define "pgmajorversion 16" -ba ~/rpmbuild/SPECS/plv8.spec
rpmbuild --define "pgmajorversion 15" -ba ~/rpmbuild/SPECS/plv8.spec
rpmbuild --define "pgmajorversion 14" -ba ~/rpmbuild/SPECS/plv8.spec
rpmbuild --define "pgmajorversion 13" -ba ~/rpmbuild/SPECS/plv8.spec
rpmbuild --define "pgmajorversion 12" -ba ~/rpmbuild/SPECS/plv8.spec
或者:
cd ~/rpmbuild/SPECS && make plv8
3.5 - ParadeDB 构建指南
下面是构建 ParadeDB 扩展插件的教程:
首先,根据 RPM 构建环境 的说明,配置好环境与代理,安装 rust
与 pgrx
。
安装时特别需要注意 pg_search
与 pg_lakehouse
使用的 pgrx
版本号。
克隆 ParadeDB,并 检出最新版本,完成编译。
cd ~; git clone --recursive [email protected]:paradedb/paradedb.git;
cd ~/paradedb; git checkout v0.8.6
pg_search
cd ~/paradedb/pg_search/
cargo update
# build pg_search
pg16 build
pg15 build
pg14 build
pg13 build
pg12 build
# move to rpmbuild SOURCES dir
rm -rf ~/rpmbuild/SOURCES/pg_search_16; cp -r ~/paradedb/target/release/pg_search-pg16 ~/rpmbuild/SOURCES/pg_search_16;
rm -rf ~/rpmbuild/SOURCES/pg_search_15; cp -r ~/paradedb/target/release/pg_search-pg15 ~/rpmbuild/SOURCES/pg_search_15;
rm -rf ~/rpmbuild/SOURCES/pg_search_14; cp -r ~/paradedb/target/release/pg_search-pg14 ~/rpmbuild/SOURCES/pg_search_14;
rm -rf ~/rpmbuild/SOURCES/pg_search_13; cp -r ~/paradedb/target/release/pg_search-pg13 ~/rpmbuild/SOURCES/pg_search_13;
rm -rf ~/rpmbuild/SOURCES/pg_search_12; cp -r ~/paradedb/target/release/pg_search-pg12 ~/rpmbuild/SOURCES/pg_search_12;
# packaging with rpmbuild
cd ~/rpmbuild/SPECS && make pg_search
rpmbuild --without debuginfo --define "pgmajorversion 16" -ba ~/rpmbuild/SPECS/pg_search.spec
rpmbuild --without debuginfo --define "pgmajorversion 15" -ba ~/rpmbuild/SPECS/pg_search.spec
rpmbuild --without debuginfo --define "pgmajorversion 14" -ba ~/rpmbuild/SPECS/pg_search.spec
rpmbuild --without debuginfo --define "pgmajorversion 13" -ba ~/rpmbuild/SPECS/pg_search.spec
rpmbuild --without debuginfo --define "pgmajorversion 12" -ba ~/rpmbuild/SPECS/pg_search.spec
pg_lakehouse
cd ~/paradedb/pg_lakehouse/
cargo update
# build pg_lakehouse
pg16 build
pg15 build
# move to rpmbuild SOURCES dir
rm -rf ~/rpmbuild/SOURCES/pg_lakehouse_16; cp -r ~/paradedb/target/release/pg_lakehouse-pg16 ~/rpmbuild/SOURCES/pg_lakehouse_16;
rm -rf ~/rpmbuild/SOURCES/pg_lakehouse_15; cp -r ~/paradedb/target/release/pg_lakehouse-pg15 ~/rpmbuild/SOURCES/pg_lakehouse_15;
# packaging with rpmbuild
cd ~/rpmbuild/SPECS && make pg_lakehouse
rpmbuild --without debuginfo --define "pgmajorversion 16" -ba ~/rpmbuild/SPECS/pg_lakehouse.spec
rpmbuild --without debuginfo --define "pgmajorversion 15" -ba ~/rpmbuild/SPECS/pg_lakehouse.spec
3.6 - DuckDB FDW 构建指南
DuckDB FDW 依赖 libduckdb.so
动态链接库。在 Ubuntu 与 Debian 上,可以直接使用由 DuckDB 官方提供的预编译二进制。
在 EL 系操作系统上,需要从头编译 libduckdb
并使用此版本编译 duckdb_fdw
。
Pigsty 的 github.com/pgsty/pgsql-rpm 仓库提供了预置的构建模板:
DuckDB 官方已经提供了 libduckdb-src.zip
源码,可以方便地进行构建。
构建注意事项
在 Ubuntu / Debian 上,可以直接使用 DuckDB 官方提供的预编译二进制 libduckdb.so
。
在 EL8 和 EL9 上需要从源码编译构建 libduckdb
。
要构建 libduckdb-src
,你需要使用与构建 duckdb_fdw
一致的编译环境与参数:
clang++ -c -fPIC -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 duckdb.cpp -o duckdb.o
clang++ -shared -o libduckdb.so *.o
构建 libduckdb
RPM 包,可以使用以下命令:
cd ~/rpmbuild/SPECS && make libduckdb
要构建 duckdb_fdw
RPM 包,可以使用以下命令:
cd ~/rpmbuild/SPECS && make duckdb_fdw
3.7 - Parquet S3 FDW 构建指南
构建parquet_s3_fdw
扩展 parquet_s3_fdw
有两个主要依赖:arrow
与 awssdk
。
构建arrow
克隆 arrow 仓库并使用 cmake 构建:
cd ~ ; git clone [email protected]:apache/arrow.git;
mkdir -p ~/arrow/cpp/release; cd ~/arrow/cpp/release;
cmake .. -DARROW_PARQUET=ON -DARROW_S3=ON; make -j8
sudo make install
构建libaws
libaws-cpp
里有许多服务的驱动,但我们只需要两个:core
和 s3
:
# 安装依赖
sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel
# sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev libpulse-dev # debian/ubuntu
# 克隆 libaws 仓库 (很大!)
cd ~; git clone --recurse-submodules [email protected]:aws/aws-sdk-cpp.git
mkdir -p ~/aws-sdk-cpp/release; cd ~/aws-sdk-cpp/release;
cmake .. -DBUILD_ONLY="s3"; make -j20
sudo make install
构建libarrow-s3
收集生成的 .so
文件,然后将其打包为一个 RPM / DEB 包:
mkdir -p ~/libarrow-s3
cp -d ~/arrow/cpp/release/release/libarrow.so* ~/libarrow-s3/
cp -d ~/arrow/cpp/release/release/libparquet.so* ~/libarrow-s3/
cp -f ~/aws-sdk-cpp/release/generated/src/aws-cpp-sdk-s3/libaws-cpp-sdk-s3.so ~/libarrow-s3/
cp -f ~/aws-sdk-cpp/release/src/aws-cpp-sdk-core/libaws-cpp-sdk-core.so ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/lib/libaws-c-event-stream.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/lib/libs2n.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/libaws-crt-cpp.so ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-common/libaws-c-common.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-checksums/libaws-checksums.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-io/libaws-c-io.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-mqtt/libaws-c-mqtt.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-cal/libaws-c-cal.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-checksums/libaws-checksums.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-s3/libaws-c-s3.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-common/libaws-c-common.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-http/libaws-c-http.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-sdkutils/libaws-c-sdkutils.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-auth/libaws-c-auth.so* ~/libarrow-s3/
cp -d ~/aws-sdk-cpp/release/crt/aws-crt-cpp/crt/aws-c-compression/libaws-c-compression.so* ~/libarrow-s3/
构建生成的 so
文件包含空 RPATH,使用 patchelf
去除 (EL系统):
cd ~/libarrow-s3/
patchelf --remove-rpath libarrow.so.1800.0.0
patchelf --remove-rpath libparquet.so.1800.0.0
patchelf --remove-rpath libaws-cpp-sdk-core.so
patchelf --remove-rpath libaws-cpp-sdk-s3.so
将这些 so
文件整体打包为一个 libarrow-s3
软件包:
cd ~/rpmbuild/SPECS
rpmbuild -ba ~/rpmbuild/SPECS/libarrow-s3.spec
sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/libarrow-s3-17.0.0-1PIGSTY.*