这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
类目:TIME
时间时态扩展:时序数据库 TimescaleDB,时态数据库,版本控制表,定时任务,异步后台任务调度扩展。
1 - timescaledb
时序数据库扩展插件
扩展总览
PIGSTY 第三方扩展: timescaledb : 时序数据库扩展插件
基本信息
元数据
- 默认版本: 2.20.0
- PG大版本:
17,16,15
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
timescaledb_information, timescaledb_experimental
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
timescaledb-tsl_$v*
- RPM版本:
2.20.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-timescaledb-tsl
- DEB版本:
2.20.0
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 timescaledb 扩展:
pig ext install timescaledb
使用 Pigsty剧本 安装 timescaledb 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["timescaledb"]}' # -l <集群名>
从 YUM仓库 手工安装 timescaledb RPM 包:
dnf install timescaledb-tsl_17*;
dnf install timescaledb-tsl_16*;
dnf install timescaledb-tsl_15*;
从 APT仓库 手工安装 timescaledb DEB 包:
apt install postgresql-17-timescaledb-tsl;
apt install postgresql-16-timescaledb-tsl;
apt install postgresql-15-timescaledb-tsl;
扩展 timescaledb 需要通过 shared_preload_libraries 进行 动态加载:
shared_preload_libraries = 'timescaledb'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 timescaledb 扩展:
CREATE EXTENSION timescaledb;
使用方法
Create a table and turn it into hypertable
DROP TABLE IF EXISTS ts_test;
CREATE TABLE ts_test
(
id BIGINT PRIMARY KEY,
ts TIMESTAMPTZ NOT NULL,
v INTEGER -- payload
);
SELECT create_hypertable('ts_test', by_range('id'));
INSERT INTO ts_test
SELECT i, now() + (i || ' seconds')::INTERVAL, i % 100
FROM generate_series(1, 1000000) i;
ALTER TABLE ts_test SET (timescaledb.compress_chunk_time_interval = '24 hours');
Continuous Agg Example:
CREATE MATERIALIZED VIEW continuous_aggregate_daily( timec, minl, sumt, sumh )
WITH (timescaledb.continuous) AS
SELECT count(*) FROM ts_test;
SELECT add_job('SELECT 1','1h', initial_start => '2024-07-09 18:52:00+00'::timestamptz);
2 - timescaledb_toolkit
超表分析查询,时间序列流式处理,以及其他SQL工具
扩展总览
PIGSTY 第三方扩展: timescaledb_toolkit : 超表分析查询,时间序列流式处理,以及其他SQL工具
基本信息
元数据
- 默认版本: 1.21.0
- PG大版本:
17,16,15,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE 权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
timescaledb-toolkit_$v
- RPM版本:
1.21.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-timescaledb-toolkit
- DEB版本:
1.21.0
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 timescaledb_toolkit 扩展:
pig ext install timescaledb_toolkit
使用 Pigsty剧本 安装 timescaledb_toolkit 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["timescaledb_toolkit"]}' # -l <集群名>
从 YUM仓库 手工安装 timescaledb_toolkit RPM 包:
dnf install timescaledb-toolkit_17;
dnf install timescaledb-toolkit_16;
dnf install timescaledb-toolkit_15;
dnf install timescaledb-toolkit_14;
从 APT仓库 手工安装 timescaledb_toolkit DEB 包:
apt install postgresql-17-timescaledb-toolkit;
apt install postgresql-16-timescaledb-toolkit;
apt install postgresql-15-timescaledb-toolkit;
apt install postgresql-14-timescaledb-toolkit;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 timescaledb_toolkit 扩展:
CREATE EXTENSION timescaledb_toolkit;
使用方法
This extension provide experimental features for timescaledb, check the docs for details.
Features
The following links lead to pages for the different features in the TimescaleDB Toolkit repository.
-
ASAP Smoothing experimental - A data smoothing algorithm designed to generate human readable graphs which maintain any erratic data behavior while smoothing away the cyclic noise.
-
Hyperloglog experimental – An approximate COUNT DISTINCT based on hashing that provides reasonable accuracy in constant space. (Methods)
-
LTTB experimental – A downsample method that preserves visual similarity. (Methods)
-
Percentile Approximation - A simple percentile approximation interface [(Methods)], wraps and simplifies the lower level algorithms:
- T-Digest – A quantile estimate sketch optimized to provide more accurate estimates near the tails (i.e. 0.001 or 0.995) than conventional approaches. (Methods)
- UddSketch – A quantile estimate sketch which provides a guaranteed maximum relative error. (Methods)
3 - timeseries
Tembo时序数据API封装
扩展总览
PIGSTY 第三方扩展: pg_timeseries : Tembo时序数据API封装
基本信息
元数据
- 默认版本: 0.1.6
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展:
columnar, pg_cron, pg_ivm, pg_partman
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_timeseries_$v
- RPM版本:
0.1.6
- RPM依赖:
hydra_$v, pg_cron_$v, pg_ivm_$v, pg_partman_$v
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-timeseries
- DEB版本:
0.1.6
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 pg_timeseries 扩展:
pig ext install pg_timeseries; # 扩展名称
pig ext install timeseries; # 标准包名
使用 Pigsty剧本 安装 pg_timeseries 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_timeseries"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_timeseries RPM 包:
dnf install pg_timeseries_17;
dnf install pg_timeseries_16;
dnf install pg_timeseries_15;
dnf install pg_timeseries_14;
dnf install pg_timeseries_13;
从 APT仓库 手工安装 pg_timeseries DEB 包:
apt install postgresql-17-pg-timeseries;
apt install postgresql-16-pg-timeseries;
apt install postgresql-15-pg-timeseries;
apt install postgresql-14-pg-timeseries;
apt install postgresql-13-pg-timeseries;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 timeseries 扩展:
CREATE EXTENSION timeseries CASCADE;
4 - periods
为 PERIODs 和 SYSTEM VERSIONING 提供标准 SQL 功能
扩展总览
PGDG 第一方扩展: periods : 为 PERIODs 和 SYSTEM VERSIONING 提供标准 SQL 功能
基本信息
元数据
- 默认版本: 1.2.3
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展:
btree_gist
软件包
- RPM仓库:PGDG
- RPM包名:
periods_$v*
- RPM版本:
1.2.3
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-periods
- DEB版本:
1.2.3
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 periods 扩展:
使用 Pigsty剧本 安装 periods 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["periods"]}' # -l <集群名>
从 YUM仓库 手工安装 periods RPM 包:
dnf install periods_17*;
dnf install periods_16*;
dnf install periods_15*;
dnf install periods_14*;
dnf install periods_13*;
从 APT仓库 手工安装 periods DEB 包:
apt install postgresql-17-periods;
apt install postgresql-16-periods;
apt install postgresql-15-periods;
apt install postgresql-14-periods;
apt install postgresql-13-periods;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 periods 扩展:
CREATE EXTENSION periods CASCADE;
5 - temporal_tables
时态表功能支持
扩展总览
PIGSTY 第三方扩展: temporal_tables : 时态表功能支持
基本信息
元数据
- 默认版本: 1.2.2
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
temporal_tables_$v*
- RPM版本:
1.2.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-temporal-tables
- DEB版本:
1.2.2
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 temporal_tables 扩展:
pig ext install temporal_tables
使用 Pigsty剧本 安装 temporal_tables 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["temporal_tables"]}' # -l <集群名>
从 YUM仓库 手工安装 temporal_tables RPM 包:
dnf install temporal_tables_17*;
dnf install temporal_tables_16*;
dnf install temporal_tables_15*;
dnf install temporal_tables_14*;
dnf install temporal_tables_13*;
从 APT仓库 手工安装 temporal_tables DEB 包:
apt install postgresql-17-temporal-tables;
apt install postgresql-16-temporal-tables;
apt install postgresql-15-temporal-tables;
apt install postgresql-14-temporal-tables;
apt install postgresql-13-temporal-tables;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 temporal_tables 扩展:
CREATE EXTENSION temporal_tables;
6 - emaj
让数据库的子集具有细粒度日志和时间旅行功能
扩展总览
MIXED 第三方扩展: emaj : 让数据库的子集具有细粒度日志和时间旅行功能
基本信息
元数据
- 默认版本: 4.6.0
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
emaj
- 所需扩展:
dblink, btree_gist
软件包
- RPM仓库:PGDG
- RPM包名:
e-maj_$v
- RPM版本:
4.6.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-emaj
- DEB版本:
4.4.0
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 emaj 扩展:
使用 Pigsty剧本 安装 emaj 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["emaj"]}' # -l <集群名>
从 YUM仓库 手工安装 emaj RPM 包:
dnf install e-maj_17;
dnf install e-maj_16;
dnf install e-maj_15;
dnf install e-maj_14;
dnf install e-maj_13;
从 APT仓库 手工安装 emaj DEB 包:
apt install postgresql-17-emaj;
apt install postgresql-16-emaj;
apt install postgresql-15-emaj;
apt install postgresql-14-emaj;
apt install postgresql-13-emaj;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 emaj 扩展:
CREATE EXTENSION emaj CASCADE;
7 - table_version
PostgreSQL 版本控制表扩展
扩展总览
MIXED 第三方扩展: table_version : PostgreSQL 版本控制表扩展
基本信息
元数据
- 默认版本: 1.11.1
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
table_version
- 所需扩展:
plpgsql
软件包
- RPM仓库:PIGSTY
- RPM包名:
table_version_$v
- RPM版本:
1.11.1
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-table-version
- DEB版本:
1.11.0
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 table_version 扩展:
pig ext install table_version
使用 Pigsty剧本 安装 table_version 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["table_version"]}' # -l <集群名>
从 YUM仓库 手工安装 table_version RPM 包:
dnf install table_version_17;
dnf install table_version_16;
dnf install table_version_15;
dnf install table_version_14;
dnf install table_version_13;
从 APT仓库 手工安装 table_version DEB 包:
apt install postgresql-17-table-version;
apt install postgresql-16-table-version;
apt install postgresql-15-table-version;
apt install postgresql-14-table-version;
apt install postgresql-13-table-version;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 table_version 扩展:
CREATE EXTENSION table_version CASCADE;
8 - pg_cron
定时任务调度器
扩展总览
PGDG 第一方扩展: pg_cron : 定时任务调度器
基本信息
元数据
- 默认版本: 1.6.5
- PG大版本:
17,16,15,14,13
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
pg_catalog
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_cron_$v*
- RPM版本:
1.6
- RPM依赖:无
- DEB仓库:PGDG
- DEB包名:
postgresql-$v-cron
- DEB版本:
1.6
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 pg_cron 扩展:
使用 Pigsty剧本 安装 pg_cron 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_cron"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_cron RPM 包:
dnf install pg_cron_17*;
dnf install pg_cron_16*;
dnf install pg_cron_15*;
dnf install pg_cron_14*;
dnf install pg_cron_13*;
从 APT仓库 手工安装 pg_cron DEB 包:
apt install postgresql-17-cron;
apt install postgresql-16-cron;
apt install postgresql-15-cron;
apt install postgresql-14-cron;
apt install postgresql-13-cron;
扩展 pg_cron 需要通过 shared_preload_libraries 进行 动态加载:
shared_preload_libraries = 'pg_cron'; # 修改 PG 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_cron 扩展:
CREATE EXTENSION pg_cron;
使用方法
beware that cron.database has to be set before adding to shared_preload_libraries
-- Delete old data on Saturday at 3:30am (GMT)
SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);
schedule
----------
42
-- Vacuum every day at 10:00am (GMT)
SELECT cron.schedule('nightly-vacuum', '0 10 * * *', 'VACUUM');
schedule
----------
43
-- Change to vacuum at 3:00am (GMT)
SELECT cron.schedule('nightly-vacuum', '0 3 * * *', 'VACUUM');
schedule
----------
43
-- Stop scheduling jobs
SELECT cron.unschedule('nightly-vacuum' );
unschedule
------------
t
SELECT cron.unschedule(42);
unschedule
------------
t
-- Vacuum every Sunday at 4:00am (GMT) in a database other than the one pg_cron is installed in
SELECT cron.schedule_in_database('weekly-vacuum', '0 4 * * 0', 'VACUUM', 'some_other_database');
schedule
----------
44
-- Call a stored procedure every 5 seconds
SELECT cron.schedule('process-updates', '5 seconds', 'CALL process_updates()');
-- Process payroll at 12:00 of the last day of each month
SELECT cron.schedule('process-payroll', '0 12 $ * *', 'CALL process_payroll()');
Crontab format:
┌───────────── min (0 - 59)
│ ┌────────────── hour (0 - 23)
│ │ ┌─────────────── day of month (1 - 31) or last day of the month ($)
│ │ │ ┌──────────────── month (1 - 12)
│ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to
│ │ │ │ │ Saturday, or use names; 7 is also Sunday)
│ │ │ │ │
│ │ │ │ │
* * * * *
9 - pg_task
在特定时间点在后台执行SQL命令
扩展总览
PGDG 第三方扩展: pg_task : 在特定时间点在后台执行SQL命令
基本信息
元数据
- 默认版本: 1.0.0
- PG大版本:
17,16,15,14,13
- 动态加载: 需要显式加载
- 需要DDL: 无需执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_task_$v*
- RPM版本:
1.0.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-task
- DEB版本:
1.0.0
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 pg_task 扩展:
使用 Pigsty剧本 安装 pg_task 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_task"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_task RPM 包:
dnf install pg_task_17*;
dnf install pg_task_16*;
dnf install pg_task_15*;
dnf install pg_task_14*;
dnf install pg_task_13*;
从 APT仓库 手工安装 pg_task DEB 包:
apt install postgresql-17-pg-task;
apt install postgresql-16-pg-task;
apt install postgresql-15-pg-task;
apt install postgresql-14-pg-task;
apt install postgresql-13-pg-task;
扩展 pg_task 需要通过 shared_preload_libraries 进行 动态加载:
shared_preload_libraries = 'pg_task'; # 修改 PG 集群配置
扩展 %s 无需 手工执行 CREATE EXTENSION 命令。
10 - pg_later
执行查询,并在稍后异步获取查询结果
扩展总览
PIGSTY 第三方扩展: pg_later : 执行查询,并在稍后异步获取查询结果
基本信息
元数据
- 默认版本: 0.3.0
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
pglater
- 所需扩展:
pgmq
软件包
- RPM仓库:PIGSTY
- RPM包名:
pg_later_$v
- RPM版本:
0.3.0
- RPM依赖:
pgmq_$v
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-later
- DEB版本:
0.3.0
- DEB依赖:
postgresql-$v-pgmq
最新版本
扩展安装
使用 pig 命令行工具安装 pg_later 扩展:
使用 Pigsty剧本 安装 pg_later 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_later"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_later RPM 包:
dnf install pg_later_17;
dnf install pg_later_16;
dnf install pg_later_15;
dnf install pg_later_14;
dnf install pg_later_13;
从 APT仓库 手工安装 pg_later DEB 包:
apt install postgresql-17-pg-later;
apt install postgresql-16-pg-later;
apt install postgresql-15-pg-later;
apt install postgresql-14-pg-later;
apt install postgresql-13-pg-later;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_later 扩展:
CREATE EXTENSION pg_later CASCADE;
11 - pg_background
在后台运行 SQL 查询
扩展总览
MIXED 第三方扩展: pg_background : 在后台运行 SQL 查询
基本信息
元数据
- 默认版本: 1.3
- PG大版本:
17,16,15,14,13
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION DDL
- 可重定位: 无法安装至任意模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PGDG
- RPM包名:
pg_background_$v*
- RPM版本:
1.3
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-pg-background
- DEB版本:
1.3
- DEB依赖:无
最新版本
扩展安装
使用 pig 命令行工具安装 pg_background 扩展:
pig ext install pg_background
使用 Pigsty剧本 安装 pg_background 扩展:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_background"]}' # -l <集群名>
从 YUM仓库 手工安装 pg_background RPM 包:
dnf install pg_background_17*;
dnf install pg_background_16*;
dnf install pg_background_15*;
dnf install pg_background_14*;
dnf install pg_background_13*;
从 APT仓库 手工安装 pg_background DEB 包:
apt install postgresql-17-pg-background;
apt install postgresql-16-pg-background;
apt install postgresql-15-pg-background;
apt install postgresql-14-pg-background;
apt install postgresql-13-pg-background;
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_background 扩展:
CREATE EXTENSION pg_background;