pg_ttl_index
基于TTL索引的自动数据过期清理
仓库
ibrahimkarimeddin/postgres-extensions-pg_ttl
https://github.com/ibrahimkarimeddin/postgres-extensions-pg_ttl
源码
postgres-extensions-pg_ttl-3.0.0.tar.gz
postgres-extensions-pg_ttl-3.0.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_ttl_index | 3.0.0 | FEAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2730 | pg_ttl_index | 否 | 是 | 是 | 是 | 否 | 是 | - |
pg 14 breaks; rm README from RPM/DEB
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 3.0.0 | 1817161514 | pg_ttl_index | - |
| RPM | PIGSTY | 3.0.0 | 1817161514 | pg_ttl_index_$v | - |
| DEB | PIGSTY | 3.0.0 | 1817161514 | postgresql-$v-ttl-index | - |
构建
您可以使用 pig build 命令构建 pg_ttl_index 扩展的 RPM / DEB 包:
BASH
安装
您可以直接安装 pg_ttl_index 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
预加载配置:
BASH
创建扩展:
SQL
用法
pg_ttl_index 通过将 TTL(生存时间)与时间戳列关联来实现自动数据过期。后台工作进程会定期删除时间戳超过配置过期间隔的行。
快速开始
SQL
函数
| 函数 | 描述 |
|---|---|
ttl_start_worker() | 启动自动清理的后台工作进程 |
ttl_worker_status() | 检查工作进程是否正在运行 |
ttl_runner() | 手动触发清理 |
ttl_create_index(table, column, expire_seconds [, batch_size]) | 配置 TTL 过期策略 |
ttl_drop_index(table, column) | 移除 TTL 配置 |
ttl_summary() | 列出所有 TTL 索引及统计信息 |
示例
24 小时过期的会话管理:
SQL
7 天日志保留:
SQL
自定义过期列的缓存条目(0 表示该列本身存储绝对过期时间):
SQL
监控
SQL
暂停特定表的清理:
SQL
配置
| 参数 | 描述 | 默认值 |
|---|---|---|
pg_ttl_index.naptime | 清理间隔(秒) | 60 |
pg_ttl_index.enabled | 全局启用/禁用工作进程 | on |
SQL