这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
类目:TIME
时间时态扩展:时序数据库 TimescaleDB,时态数据库,版本控制表,定时任务,异步后台任务调度扩展。
1 - timescaledb
时序数据库扩展插件
扩展总览
PIGSTY 第三方扩展: timescaledb
: 时序数据库扩展插件
基本信息
元数据
- 默认版本: 2.19.0
- PG大版本:
17
,16
,15
,14
- 动态加载: 需要显式加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 未受信任,创建扩展需要超级用户权限
- 所需模式:
timescaledb_information
, timescaledb_experimental
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
timescaledb-tsl_$v*
- RPM版本:
2.18.2
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-timescaledb-tsl
- DEB版本:
2.18.2
- 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*;
dnf install timescaledb-tsl_14*;
从 APT仓库 手工安装 timescaledb
DEB 包:
apt install postgresql-17-timescaledb-tsl;
apt install postgresql-16-timescaledb-tsl;
apt install postgresql-15-timescaledb-tsl;
apt install postgresql-14-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.19.0
- PG大版本:
17
,16
,15
,14
- 动态加载: 无需动态加载
- 需要DDL: 需要执行
CREATE EXTENSION
DDL
- 可重定位: 可以重定位安装至其他模式下
- 信任程度: 受信任,无需超级用户,带
CREATE
权限的用户可以直接创建
- 所需模式: 无
- 所需扩展: 无
软件包
- RPM仓库:PIGSTY
- RPM包名:
timescaledb-toolkit_$v
- RPM版本:
1.19.0
- RPM依赖:无
- DEB仓库:PIGSTY
- DEB包名:
postgresql-$v-timescaledb-toolkit
- DEB版本:
1.19.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.2
- 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.5.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命令
基本信息
元数据
- 默认版本: 2.1.7
- 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 集群配置
使用以下 SQL 命令在已经安装此扩展插件的 PG 集群上 启用 pg_task
扩展:
CREATE EXTENSION pg_task;
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;