pglogical_ticker

pglogical复制延迟以秒计的精确视图

概览

扩展包名版本分类许可证语言
pglogical_ticker1.4.1ETLPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
9510pglogical_tickerpglogical_ticker
相关扩展pglogical pglogical_origin pgl_ddl_deploy pg_failover_slots pgactive wal2json decoderbufs repmgr decoder_raw

require a patch on el, pg18 break on el

版本

类型仓库版本PG 大版本包名依赖
EXTPGDG1.4.11817161514pglogical_tickerpglogical
RPMPIGSTY1.4.11817161514pglogical_ticker_$vpglogical_$v
DEBPGDG1.4.11817161514postgresql-$v-pglogical-tickerpostgresql-$v-pglogical
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el8.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el9.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el9.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el10.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el10.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d12.x86_64
PIGSTY 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
d12.aarch64
PIGSTY 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
d13.x86_64
PIGSTY 1.4.1
d13.aarch64
PIGSTY 1.4.1
u22.x86_64
PIGSTY 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
u22.aarch64
PIGSTY 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
u24.x86_64
PIGSTY 1.4.1
u24.aarch64
PIGSTY 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1

构建

您可以使用 pig build 命令构建 pglogical_ticker 扩展的 RPM / DEB 包:

pig build pkg pglogical_ticker         # 构建 RPM / DEB 包

安装

您可以直接安装 pglogical_ticker 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:

pig repo add pgdg -u          # 添加 PGDG 仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install pglogical_ticker;          # 当前活跃 PG 版本安装
pig ext install -y pglogical_ticker -v 18  # PG 18
pig ext install -y pglogical_ticker -v 17  # PG 17
pig ext install -y pglogical_ticker -v 16  # PG 16
pig ext install -y pglogical_ticker -v 15  # PG 15
pig ext install -y pglogical_ticker -v 14  # PG 14
dnf install -y pglogical_ticker_18       # PG 18
dnf install -y pglogical_ticker_17       # PG 17
dnf install -y pglogical_ticker_16       # PG 16
dnf install -y pglogical_ticker_15       # PG 15
dnf install -y pglogical_ticker_14       # PG 14
apt install -y postgresql-18-pglogical-ticker   # PG 18
apt install -y postgresql-17-pglogical-ticker   # PG 17
apt install -y postgresql-16-pglogical-ticker   # PG 16
apt install -y postgresql-15-pglogical-ticker   # PG 15
apt install -y postgresql-14-pglogical-ticker   # PG 14

预加载配置

shared_preload_libraries = 'pglogical, pglogical_ticker';

创建扩展

CREATE EXTENSION pglogical_ticker CASCADE;  -- 依赖: pglogical

用法

pglogical_ticker: 准确查看 pglogical 复制延迟

一个后台工作进程,定期更新 ticker 表以从提供者角度测量 pglogical 复制延迟。

启用

添加到 postgresql.conf

shared_preload_libraries = 'pglogical,pglogical_ticker'
pglogical_ticker.database = 'mydb'
pglogical_ticker.naptime = 10      -- tick 间隔(秒,默认 10)

在提供者和所有订阅者上安装:

CREATE EXTENSION pglogical_ticker;

部署 Ticker 表

仅在提供者上运行(通过 pglogical 传播到订阅者):

-- 部署 ticker 表(每个复制集一个)
SELECT pglogical_ticker.deploy_ticker_tables();

-- 将 ticker 表添加到复制
SELECT pglogical_ticker.add_ticker_tables_to_replication();

用于级联复制:

SELECT pglogical_ticker.deploy_ticker_tables('my_cascaded_set_name');
SELECT pglogical_ticker.add_ticker_tables_to_replication('my_cascaded_set_name');

手动 Tick

SELECT pglogical_ticker.tick();

启动 Ticker

如果在 shared_preload_libraries 中配置,ticker 在服务器启动时自动启动。否则:

SELECT pglogical_ticker.launch();

-- 或者,仅在复制集表存在时启动
SELECT pglogical_ticker.launch_if_repset_tables();

查看复制延迟

提供者上:

SELECT * FROM pglogical_ticker.all_repset_tickers();

订阅者上:

SELECT * FROM pglogical_ticker.all_subscription_tickers();

配置

  • pglogical_ticker.database - 运行 ticker 的数据库
  • pglogical_ticker.naptime - tick 间隔(秒,默认 10)
  • pglogical_ticker.restart_time - 自动重启前等待秒数(默认 10,-1 禁用)

最后修改 2026-03-14: update extension metadata (953cbd0)