权威扩展列表现已搬迁至专门子站点:https://ext.pigsty.io
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 EXTENSIONDDL 语句,才会真实在具体的数据库中被创建并启用。您可以手工执行此 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_fdwrag-stack: 向量检索扩展集合,包括:pgvector,pgvectorscale,pg_vectorize,pg_similarity,pg_tiktoken,pgmlfts-stack: 全文检索扩展集合,包括:pg_search,pg_bigm,zhparser,hunspellfdw-stack: 外部数据扩展集合,包括:wrappers,mysql_fdw,tds_fdw,sqlite_fdwetl-stack: 数据ETL/CDC集合,包括:pglogical,pgl_ddl_deploy,wal2json,wal2mongo,decoderbufs,pg_fact_loader,pg_bulkload,pgloader,pgcopydbfeat-stack: 类型函数扩展集合,包括:age,hll,rum,pg_graphql,pg_jsonschema,jsquery,pg_ivm,pgq3,gzip,http,topn,pgjwtolap-stack: 数据仓库OLAP集合,包括:duckdb,duckdb_fdw,pg-lakehouse,hydra,timescaledb,pg-fkpart,pg-partman,plproxysupa-stack: Supabase扩展集合,包括:pg-graphql,pg-jsonschema,wrappers,pgvector,cron,supautils,pgsodium,vault,pgjwt,http,pg-netstat-stack: 统计监控扩展集合,包括:show-plans,pg-stat-kcache,pg-qualstats,pg-track-settings,pg-wait-sampling,pg-sqlogjson-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:DBUser.Supa@10.10.10.10: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 - 扩展清单
权威扩展列表现已搬迁至专门子站点:https://ext.pigsty.io
Pigsty 中总共有 400 个可用扩展,其中 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 扩展清单
权威扩展列表现已搬迁至专门子站点:https://ext.pigsty.io
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 扩展清单
权威扩展列表现已搬迁至专门子站点:https://ext.pigsty.io
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 扩展清单
权威扩展列表现已搬迁至专门子站点:https://ext.pigsty.io
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 git@github.com
快捷别名
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 git@github.com:postgresml/postgresml.git ; cd ~/postgresml && git checkout v2.9.3
cd ~; git clone git@github.com:supabase/pg_graphql.git ; cd ~/pg_graphql #&& git checkout v1.5.8
cd ~; git clone git@github.com:supabase/pg_jsonschema.git ; cd ~/pg_jsonschema #&& git checkout v0.3.2
cd ~; git clone git@github.com:supabase/wrappers.git ; cd ~/wrappers && git checkout v0.4.3
cd ~; git clone git@github.com:Vonng/pgsmcrypto.git ; cd ~/pgsmcrypto
cd ~; git clone git@github.com:Vonng/pg_tiktoken.git ; cd ~/pg_tiktoken
cd ~; git clone git@github.com:VADOSWARE/pg_idkit.git ; cd ~/pg_idkit && git checkout v0.2.4
cd ~; git clone git@github.com:timescale/pgvectorscale.git ; cd ~/pgvectorscale && git checkout 0.4.0
cd ~; git clone git@github.com:tembo-io/pg_vectorize.git ; cd ~/pg_vectorize && git checkout v0.18.3
cd ~; git clone git@github.com:tembo-io/pg_later.git ; cd ~/pg_later && git checkout v0.1.3
cd ~; git clone git@github.com:kaspermarstal/plprql.git ; cd ~/plprql && git checkout v1.0.0
cd ~; git clone git@github.com:rustprooflabs/pgdd.git ; cd ~/pgdd && git checkout 0.5.2
cd ~; git@github.com:CrunchyData/pg_parquet.git ; cd ~/pg_parquet && git checkout 0.1.0
#cd ~; git clone git@github.com: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 构建指南
更新Cmake
echo 'deb [trusted=yes] https://apt.kitware.com/ubuntu/ jammy main' \
| sudo tee /etc/apt/sources.list.d/kitware.list
echo "deb [trusted=yes] \
https://apt.kitware.com/debian/ bookworm main" \
| sudo tee /etc/apt/sources.list.d/kitware.list
sudo dnf install -y https://apt.kitware.com/kitware-release-el8.rpm
sudo dnf install -y https://apt.kitware.com/kitware-release-el9.rpm
sudo apt remove -y cmake ; sudo apt install -y cmake
sudo yum remove -y cmake ; sudo yum install -y cmake
rm -rf cmake-3.31.4-linux-x86_64
tar -xf cmake-3.31.4-linux-x86_64.tar.gz
mv cmake-3.31.4-linux-x86_64 /opt/cmake-3.31.4
tar -xf cmake-3.31.4-linux-aarch64.tar.gz
mv ~/cmake-3.31.4-linux-aarch64 /opt/cmake-3.31.4
echo 'export PATH=/opt/cmake-3.31.4/bin:$PATH' > /etc/profile.d/cmake.sh
rm -rf /usr/bin/{ccmake,cmake,cmake-gui,cpack,ctest}
yum remove cmake -y
ln -s /opt/cmake-3.31.4/bin/ccmake /usr/bin/ccmake
ln -s /opt/cmake-3.31.4/bin/cmake /usr/bin/cmake
ln -s /opt/cmake-3.31.4/bin/cmake-gui /usr/bin/cmake-gui`
ln -s /opt/cmake-3.31.4/bin/cpack /usr/bin/cpack
ln -s /opt/cmake-3.31.4/bin/ctest /usr/bin/ctest
构建 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 yum install python3-devel
sudo apt install clang pkg-config build-essential git libclang-dev libpython3-dev libssl-dev libopenblas-dev lld
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 git@github.com: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 git@github.com: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 git@github.com: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 git@github.com: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 git@github.com: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.*