这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
类目:OLAP
分析能力扩展:列式存储,DuckDB与外部数据源包装器,Parquet S3,数据冷热分级存储,分布式计算,透明分片,GPU加速
1 - citus
Citus 分布式数据库
扩展总览
PIGSTY 第三方扩展: citus
: Citus 分布式数据库
基本信息
元数据
- 默认版本: 13.0.2
- PG大版本:
17
,16
,15
,14
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
pg_catalog
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
citus_$v*
- RPM版本:
13.0.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-citus
- DEB版本:
13.0.2
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 citus
扩展:
使用 Pigsty剧本 安装 citus 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["citus"]}' # -l <集群名>
从 YUM仓库 手工安装 citus
RPM 包:
dnf install citus_17*;
dnf install citus_16*;
dnf install citus_15*;
dnf install citus_14*;
从 APT仓库 手工安装 citus
DEB 包:
apt install postgresql-17-citus;
apt install postgresql-16-citus;
apt install postgresql-15-citus;
apt install postgresql-14-citus;
扩展 citus
需要通过 shared_preload_libraries
进行 动态加载:
shared_preload_libraries = 'citus'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 citus
扩展:
2 - citus_columnar
Citus 列式存储引擎
扩展总览
PIGSTY 第三方扩展: citus
: Citus 列式存储引擎
基本信息
元数据
- 默认版本: 13.0.2
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
pg_catalog
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
citus_$v*
- RPM版本:
13.0.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-citus
- DEB版本:
13.0.2
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 citus
扩展:
pig ext install citus; # 扩展名称
pig ext install citus_columnar; # 标准包名
使用 Pigsty剧本 安装 citus 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["citus"]}' # -l <集群名>
从 YUM仓库 手工安装 citus
RPM 包:
dnf install citus_17*;
dnf install citus_16*;
dnf install citus_15*;
dnf install citus_14*;
从 APT仓库 手工安装 citus
DEB 包:
apt install postgresql-17-citus;
apt install postgresql-16-citus;
apt install postgresql-15-citus;
apt install postgresql-14-citus;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 citus_columnar
扩展:
CREATE EXTENSION citus_columnar;
3 - columnar
开源列式存储扩展
扩展总览
PIGSTY 第三方扩展: hydra
: 开源列式存储扩展
基本信息
元数据
- 默认版本: 1.1.2
- PG大版本:
16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
hydra_$v*
- RPM版本:
1.1.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-hydra
- DEB版本:
1.1.2
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 hydra
扩展:
pig ext install hydra; # 扩展名称
pig ext install columnar; # 标准包名
使用 Pigsty剧本 安装 hydra 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["hydra"]}' # -l <集群名>
从 YUM仓库 手工安装 hydra
RPM 包:
dnf install hydra_16*;
dnf install hydra_15*;
dnf install hydra_14*;
dnf install hydra_13*;
从 APT仓库 手工安装 hydra
DEB 包:
apt install postgresql-16-hydra;
apt install postgresql-15-hydra;
apt install postgresql-14-hydra;
apt install postgresql-13-hydra;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 columnar
扩展:
CREATE EXTENSION columnar;
4 - pg_analytics
由 DuckDB 驱动的数据分析引擎
扩展总览
PIGSTY 第三方扩展: pg_analytics
: 由 DuckDB 驱动的数据分析引擎
基本信息
元数据
- 默认版本: 0.3.7
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式:
paradedb
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_analytics_$v
- RPM版本:
0.3.4
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-analytics
- DEB版本:
0.3.3
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_analytics
扩展:
pig ext install pg_analytics
使用 Pigsty剧本 安装 pg_analytics 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_analytics"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_analytics
RPM 包:
dnf install pg_analytics_17;
dnf install pg_analytics_16;
dnf install pg_analytics_15;
dnf install pg_analytics_14;
从 APT仓库 手工安装 pg_analytics
DEB 包:
apt install postgresql-17-pg-analytics;
apt install postgresql-16-pg-analytics;
apt install postgresql-15-pg-analytics;
apt install postgresql-14-pg-analytics;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_analytics
扩展:
CREATE EXTENSION pg_analytics;
使用方法
https://github.com/paradedb/pg_analytics
Example, read parquet file from S3:
CREATE EXTENSION pg_lakehouse;
CREATE FOREIGN DATA WRAPPER parquet_wrapper HANDLER parquet_fdw_handler VALIDATOR parquet_fdw_validator;
-- Provide S3 credentials
CREATE SERVER parquet_server FOREIGN DATA WRAPPER parquet_wrapper;
-- Create foreign table with auto schema creation
CREATE FOREIGN TABLE trips ()
SERVER parquet_server
OPTIONS (files 's3://paradedb-benchmarks/yellow_tripdata_2024-01.parquet');
-- Success! Now you can query the remote Parquet file like a regular Postgres table
SELECT COUNT(*) FROM trips;
count
---------
2964624
(1 row)
This fdw is read-only for now.
Iceberg Support
CREATE EXTENSION pg_lakehouse;
CREATE FOREIGN DATA WRAPPER iceberg_wrapper
HANDLER iceberg_fdw_handler
VALIDATOR iceberg_fdw_validator;
CREATE SERVER iceberg_server
FOREIGN DATA WRAPPER iceberg_wrapper;
-- Replace the dummy schema with the actual schema
CREATE FOREIGN TABLE iceberg_table (x INT)
SERVER iceberg_server
OPTIONS (files 's3://bucket/iceberg_folder');
-- Success! You can now query the Iceberg table
SELECT COUNT(*) FROM iceberg_table;
5 - pg_duckdb
在PostgreSQL中的嵌入式DuckDB扩展
扩展总览
PIGSTY 第三方扩展: pg_duckdb
: 在PostgreSQL中的嵌入式DuckDB扩展
基本信息
元数据
- 默认版本: 0.3.1
- PG大版本:
17
,16
,15
,14
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_duckdb_$v*
- RPM版本:
0.3.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-duckdb
- DEB版本:
0.3.1
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_duckdb
扩展:
pig ext install pg_duckdb
使用 Pigsty剧本 安装 pg_duckdb 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_duckdb"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_duckdb
RPM 包:
dnf install pg_duckdb_17*;
dnf install pg_duckdb_16*;
dnf install pg_duckdb_15*;
dnf install pg_duckdb_14*;
从 APT仓库 手工安装 pg_duckdb
DEB 包:
apt install postgresql-17-pg-duckdb;
apt install postgresql-16-pg-duckdb;
apt install postgresql-15-pg-duckdb;
apt install postgresql-14-pg-duckdb;
扩展 pg_duckdb
需要通过 shared_preload_libraries
进行 动态加载:
shared_preload_libraries = 'pg_duckdb'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_duckdb
扩展:
CREATE EXTENSION pg_duckdb;
使用方法
Add pg_duckdb
to shared_preload_libraries
via patronictl
pg edit-config --force -p shared_preload_libraries='pg_duckdb, pg_stat_statements, auto_explain'
pg restart --force pg-meta
Create Extension
CREATE EXTENSION pg_duckdb;
Generate some data
\timing on
SELECT count(*) FROM pgbench_accounts;
-- 3268.023ms
# use the duckdb execution engine
SET duckdb.force_execution = true;
postgres@el8:5432/postgres=# explain SELECT count(*) FROM pgbench_accounts;
QUERY PLAN
---------------------------------------------------------------------------------
Custom Scan (DuckDBScan) (cost=0.00..0.00 rows=0 width=0)
DuckDB Execution Plan:
┌───────────────────────────┐
│ UNGROUPED_AGGREGATE │
│ ──────────────────── │
│ Aggregates: │
│ count_star() │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ POSTGRES_SEQ_SCAN │
│ ──────────────────── │
│ Function: │
│ POSTGRES_SEQ_SCAN │
│ │
│ ~10000000 Rows │
└───────────────────────────┘
JIT:
Functions: 1
Options: Inlining false, Optimization false, Expressions true, Deforming true
(22 rows)
postgres@el8:5432/postgres=# SELECT count(*) FROM pgbench_accounts;
count
----------
10000000
(1 row)
Time: 696.801 ms
According some user feedbacks, the duckdb engine can achieve 100x - 1000x speed up on certain queries.
Check more details @ https://github.com/duckdb/pg_duckdb
6 - pg_mooncake
PostgreSQL列式存储表
扩展总览
PIGSTY 第三方扩展: pg_mooncake
: PostgreSQL列式存储表
基本信息
元数据
- 默认版本: 0.1.2
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_mooncake_$v*
- RPM版本:
0.1.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-mooncake
- DEB版本:
0.1.2
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_mooncake
扩展:
pig ext install pg_mooncake
使用 Pigsty剧本 安装 pg_mooncake 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_mooncake"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_mooncake
RPM 包:
dnf install pg_mooncake_17*;
dnf install pg_mooncake_16*;
dnf install pg_mooncake_15*;
dnf install pg_mooncake_14*;
从 APT仓库 手工安装 pg_mooncake
DEB 包:
apt install postgresql-17-pg-mooncake;
apt install postgresql-16-pg-mooncake;
apt install postgresql-15-pg-mooncake;
apt install postgresql-14-pg-mooncake;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_mooncake
扩展:
CREATE EXTENSION pg_mooncake;
使用方法
THIS EXTENSION IS CONFLICT WITH pg_duckdb & duckdb_fdw, if it is under maintained, we may remove this extension in the future
Beware that this package is conflict with the official pg_duckdb
extension due to use the same libduckdb.so
under same path.
And this function will block the duckdb_fdw
functioning.
-- Create a columnstore table in PostgreSQL
CREATE TABLE user_activity (....) USING columnstore;
-- Insert data into a columnstore table
INSERT INTO user_activity VALUES ....;
-- Query a columnstore table in PostgreSQL
SELECT * FROM user_activity LIMIT 5;
Example
Use mooncake with S3:
SELECT mooncake.create_secret('<name>', 'S3', '<key_id>', '<secret>', '{"REGION": "<s3-region>"}');
SET mooncake.default_bucket = 's3://<bucket>';
SET mooncake.enable_local_cache = false; -- (if you are using Neon)
Use mooncake with local columnstore:
CREATE TABLE user_activity(
user_id BIGINT,
activity_type TEXT,
activity_timestamp TIMESTAMP,
duration INT
) USING columnstore;
INSERT INTO user_activity VALUES
(1, 'login', '2024-01-01 08:00:00', 120),
(2, 'page_view', '2024-01-01 08:05:00', 30),
(3, 'logout', '2024-01-01 08:30:00', 60),
(4, 'error', '2024-01-01 08:13:00', 60);
SELECT * FROM user_activity;
Run analytic queries
SELECT
user_id,
activity_type,
SUM(duration) AS total_duration,
COUNT(*) AS activity_count
FROM
user_activity
GROUP BY
user_id, activity_type
ORDER BY
user_id, activity_type;
The explain result could be:
postgres@u22:5432/postgres=# explain SELECT
user_id,
activity_type,
SUM(duration) AS total_duration,
COUNT(*) AS activity_count
FROM
user_activity
GROUP BY
user_id, activity_type
ORDER BY
user_id, activity_type;
QUERY PLAN
------------------------------------------------------------
Custom Scan (DuckDBScan) (cost=0.00..0.00 rows=0 width=0)
DuckDB Execution Plan:
┌───────────────────────────┐
│ PROJECTION │
│ ──────────────────── │
│__internal_decompress_integ│
│ ral_bigint(#0, 1) │
│ #1 │
│ #2 │
│ #3 │
│ │
│ ~2 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ ORDER_BY │
│ ──────────────────── │
│ user_activity.user_id ASC │
│ user_activity │
│ .activity_type ASC │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ PROJECTION │
│ ──────────────────── │
│__internal_compress_integra│
│ l_utinyint(#0, 1) │
│ #1 │
│ #2 │
│ #3 │
│ │
│ ~2 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ PROJECTION │
│ ──────────────────── │
│__internal_decompress_integ│
│ ral_bigint(#0, 1) │
│ #1 │
│ #2 │
│ #3 │
│ │
│ ~2 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ HASH_GROUP_BY │
│ ──────────────────── │
│ Groups: │
│ #0 │
│ #1 │
│ │
│ Aggregates: │
│ sum(#2) │
│ count_star() │
│ │
│ ~2 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ PROJECTION │
│ ──────────────────── │
│ user_id │
│ activity_type │
│ duration │
│ │
│ ~4 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ PROJECTION │
│ ──────────────────── │
│__internal_compress_integra│
│ l_utinyint(#0, 1) │
│ #1 │
│ #2 │
│ │
│ ~4 Rows │
└─────────────┬─────────────┘
┌─────────────┴─────────────┐
│ COLUMNSTORE_SCAN │
│ ──────────────────── │
│ Function: │
│ COLUMNSTORE_SCAN │
│ │
│ Projections: │
│ user_id │
│ activity_type │
│ duration │
│ │
│ ~4 Rows │
└───────────────────────────┘
(90 rows)
7 - duckdb_fdw
DuckDB 外部数据源包装器
扩展总览
PIGSTY 第三方扩展: duckdb_fdw
: DuckDB 外部数据源包装器
基本信息
元数据
- 默认版本: 1.1.2
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
duckdb_fdw_$v*
- RPM版本:
1.0.0
- RPM依赖:
libduckdb
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-duckdb-fdw
- DEB版本:
1.0.0
- DEB依赖:
libduckdb
最新版本
扩展安装
使用 pig
命令行工具安装 duckdb_fdw
扩展:
pig ext install duckdb_fdw
使用 Pigsty剧本 安装 duckdb_fdw 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["duckdb_fdw"]}' # -l <集群名>
从 YUM仓库 手工安装 duckdb_fdw
RPM 包:
dnf install duckdb_fdw_17*;
dnf install duckdb_fdw_16*;
dnf install duckdb_fdw_15*;
dnf install duckdb_fdw_14*;
dnf install duckdb_fdw_13*;
从 APT仓库 手工安装 duckdb_fdw
DEB 包:
apt install postgresql-17-duckdb-fdw;
apt install postgresql-16-duckdb-fdw;
apt install postgresql-15-duckdb-fdw;
apt install postgresql-14-duckdb-fdw;
apt install postgresql-13-duckdb-fdw;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 duckdb_fdw
扩展:
CREATE EXTENSION duckdb_fdw;
使用方法
Create Extension
After install the duckdb_fdw
yum package, you can create the extension inside PostgreSQL database:
-- create extension
CREATE EXTENSION duckdb_fdw;
-- create duckdb_fdw server
CREATE SERVER duckdb_server FOREIGN DATA WRAPPER duckdb_fdw OPTIONS (database '/tmp/duck.db');
-- create user mapping [OPTIONAL]
-- GRANT USAGE ON FOREIGN SERVER duckdb_server TO PUBLIC;
SELECT duckdb_fdw_version();
-- You can execute duckdb command with `duckdb_execute`, for example, to create a table inside duckdb:
-- create a table in duckdb
SELECT duckdb_execute('duckdb_server', 'CREATE TABLE t1 (a integer,b varchar);');
-- create duckdb foreign table mapping that duckdb table
CREATE FOREIGN TABLE t1 (
a integer,
b text
) SERVER duckdb_server OPTIONS (
table 't1'
);
-- write some data and read it back
INSERT INTO t1 SELECT i AS a,i::text AS b FROM generate_series(1,10) i;
SELECT * FROM t1;
You can also import foreign schema from duckdb server, for example, create a table with duckdb cli:
duckdb /tmp/duck.db
CREATE TABLE t1 (
a integer,
b text
);
INSERT INTO t1 VALUES (1, 'a'), (2 , 'b'), (3, 'c');
SELECT * FROM t1;
Then import the schema into PostgreSQL:
IMPORT FOREIGN SCHEMA public FROM SERVER duckdb_server INTO public;
Other Resource
8 - pg_parquet
在PostgreSQL与本地/S3中的Parquet文件复制数据
扩展总览
PIGSTY 第三方扩展: pg_parquet
: 在PostgreSQL与本地/S3中的Parquet文件复制数据
基本信息
元数据
- 默认版本: 0.3.1
- PG大版本:
17
,16
,15
,14
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_parquet_$v
- RPM版本:
0.2.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-parquet
- DEB版本:
0.2.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_parquet
扩展:
pig ext install pg_parquet
使用 Pigsty剧本 安装 pg_parquet 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_parquet"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_parquet
RPM 包:
dnf install pg_parquet_17;
dnf install pg_parquet_16;
dnf install pg_parquet_15;
dnf install pg_parquet_14;
从 APT仓库 手工安装 pg_parquet
DEB 包:
apt install postgresql-17-pg-parquet;
apt install postgresql-16-pg-parquet;
apt install postgresql-15-pg-parquet;
apt install postgresql-14-pg-parquet;
扩展 pg_parquet
需要通过 shared_preload_libraries
进行 动态加载:
shared_preload_libraries = 'pg_parquet'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_parquet
扩展:
CREATE EXTENSION pg_parquet;
9 - pg_fkpart
按外键实用程序进行表分区的扩展
扩展总览
MIXED 第三方扩展: pg_fkpart
: 按外键实用程序进行表分区的扩展
基本信息
元数据
- 默认版本: 1.7.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
pgfkpart
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_fkpart_$v
- RPM版本:
1.7.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-fkpart
- DEB版本:
1.7.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_fkpart
扩展:
pig ext install pg_fkpart
使用 Pigsty剧本 安装 pg_fkpart 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_fkpart"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_fkpart
RPM 包:
dnf install pg_fkpart_17;
dnf install pg_fkpart_16;
dnf install pg_fkpart_15;
dnf install pg_fkpart_14;
dnf install pg_fkpart_13;
从 APT仓库 手工安装 pg_fkpart
DEB 包:
apt install postgresql-17-pg-fkpart;
apt install postgresql-16-pg-fkpart;
apt install postgresql-15-pg-fkpart;
apt install postgresql-14-pg-fkpart;
apt install postgresql-13-pg-fkpart;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_fkpart
扩展:
CREATE EXTENSION pg_fkpart;
10 - pg_partman
用于按时间或 ID 管理分区表的扩展
扩展总览
PGDG 第一方扩展: pg_partman
: 用于按时间或 ID 管理分区表的扩展
基本信息
元数据
- 默认版本: 5.2.4
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_partman_$v*
- RPM版本:
5.2.4
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-partman
- DEB版本:
5.2.4
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_partman
扩展:
pig ext install pg_partman
使用 Pigsty剧本 安装 pg_partman 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_partman"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_partman
RPM 包:
dnf install pg_partman_17*;
dnf install pg_partman_16*;
dnf install pg_partman_15*;
dnf install pg_partman_14*;
dnf install pg_partman_13*;
从 APT仓库 手工安装 pg_partman
DEB 包:
apt install postgresql-17-partman;
apt install postgresql-16-partman;
apt install postgresql-15-partman;
apt install postgresql-14-partman;
apt install postgresql-13-partman;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_partman
扩展:
CREATE EXTENSION pg_partman;
11 - plproxy
作为过程语言实现的数据库分区
扩展总览
PGDG 第三方扩展: plproxy
: 作为过程语言实现的数据库分区
基本信息
元数据
- 默认版本: 2.11.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
plproxy_$v*
- RPM版本:
2.11.0
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-plproxy
- DEB版本:
2.11.0
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 plproxy
扩展:
使用 Pigsty剧本 安装 plproxy 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["plproxy"]}' # -l <集群名>
从 YUM仓库 手工安装 plproxy
RPM 包:
dnf install plproxy_17*;
dnf install plproxy_16*;
dnf install plproxy_15*;
dnf install plproxy_14*;
dnf install plproxy_13*;
从 APT仓库 手工安装 plproxy
DEB 包:
apt install postgresql-17-plproxy;
apt install postgresql-16-plproxy;
apt install postgresql-15-plproxy;
apt install postgresql-14-plproxy;
apt install postgresql-13-plproxy;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 plproxy
扩展:
CREATE EXTENSION plproxy;
12 - pg_strom
使用GPU与NVMe加速大数据处理
扩展总览
PGDG 第一方扩展: pg_strom
: 使用GPU与NVMe加速大数据处理
基本信息
元数据
- 默认版本: 5.2.2
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 未知
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_strom_$v*
- RPM版本:
5.2.2
- RPM依赖:无
- DEB仓库:None
- DEB包名:无
- DEB版本:无
- DEB依赖:无
最新版本
扩展安装
使用 pig
命令行工具安装 pg_strom
扩展:
使用 Pigsty剧本 安装 pg_strom 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_strom"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_strom
RPM 包:
dnf install pg_strom_17*;
dnf install pg_strom_16*;
dnf install pg_strom_15*;
dnf install pg_strom_14*;
dnf install pg_strom_13*;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_strom
扩展:
CREATE EXTENSION pg_strom;
13 - tablefunc
交叉表函数
扩展总览
CONTRIB 自带扩展: tablefunc
: 交叉表函数
基本信息
元数据
- 默认版本: 1.0
- PG大版本:
17
,16
,15
,14
,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 未知
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
PostgreSQL 自带 Contrib 扩展模块
最新版本
系统 |
架构 |
PG17 |
PG16 |
PG15 |
PG14 |
PG13 |
el8 |
x86_64 |
|
|
|
|
|
el8 |
aarch64 |
|
|
|
|
|
el9 |
x86_64 |
|
|
|
|
|
el9 |
aarch64 |
|
|
|
|
|
d12 |
x86_64 |
|
|
|
|
|
d12 |
aarch64 |
|
|
|
|
|
u22 |
x86_64 |
|
|
|
|
|
u22 |
aarch64 |
|
|
|
|
|
u24 |
x86_64 |
|
|
|
|
|
u24 |
aarch64 |
|
|
|
|
|
扩展安装
扩展 tablefunc
属于 PostgreSQL 自带的第一方 Contrib 扩展,无需独立安装。
从 YUM仓库 手工安装 tablefunc
RPM 包:
dnf install postgresql17-contrib;
dnf install postgresql16-contrib;
dnf install postgresql15-contrib;
dnf install postgresql14-contrib;
dnf install postgresql13-contrib;
从 APT仓库 手工安装 tablefunc
DEB 包:
apt install postgresql-17;
apt install postgresql-16;
apt install postgresql-15;
apt install postgresql-14;
apt install postgresql-13;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 tablefunc
扩展:
CREATE EXTENSION tablefunc;