pgsql_tweaks

一些日常会用到的便利函数与视图

概览

扩展包名版本分类许可证语言
pgsql_tweaks1.0.2UTILPostgreSQLSQL
ID扩展名BinLibLoadCreateTrustReloc模式
4200pgsql_tweaks-
相关扩展pg_extra_time extra_window_functions gzip bzip zstd http pg_net pg_curl

版本

类型仓库版本PG 大版本包名依赖
EXTMIXED1.0.21817161514pgsql_tweaks-
RPMPGDG1.0.21817161514pgsql_tweaks_$v-
DEBPIGSTY1.0.21817161514postgresql-$v-pgsql-tweaks-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d13.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
d13.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u22.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u22.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u24.x86_64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
u24.aarch64
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2
PIGSTY 1.0.2

构建

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

pig build pkg pgsql_tweaks         # 构建 DEB 包

安装

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

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

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

pig install pgsql_tweaks;          # 当前活跃 PG 版本安装
pig ext install -y pgsql_tweaks -v 18  # PG 18
pig ext install -y pgsql_tweaks -v 17  # PG 17
pig ext install -y pgsql_tweaks -v 16  # PG 16
pig ext install -y pgsql_tweaks -v 15  # PG 15
pig ext install -y pgsql_tweaks -v 14  # PG 14
dnf install -y pgsql_tweaks_18       # PG 18
dnf install -y pgsql_tweaks_17       # PG 17
dnf install -y pgsql_tweaks_16       # PG 16
dnf install -y pgsql_tweaks_15       # PG 15
dnf install -y pgsql_tweaks_14       # PG 14
apt install -y postgresql-18-pgsql-tweaks   # PG 18
apt install -y postgresql-17-pgsql-tweaks   # PG 17
apt install -y postgresql-16-pgsql-tweaks   # PG 16
apt install -y postgresql-15-pgsql-tweaks   # PG 15
apt install -y postgresql-14-pgsql-tweaks   # PG 14

创建扩展

CREATE EXTENSION pgsql_tweaks;

用法

pgsql_tweaks: 为 DBA 日常工作提供的 PostgreSQL 视图与函数

所有对象创建在 pgsql_tweaks 模式中。完整文档:rtfm.pgsql-tweaks.org

数据类型检查函数

SELECT pgsql_tweaks.is_date('2024-01-15');       -- true
SELECT pgsql_tweaks.is_integer('42');             -- true
SELECT pgsql_tweaks.is_numeric('3.14');           -- true
SELECT pgsql_tweaks.is_json('{"a":1}');           -- true
SELECT pgsql_tweaks.is_jsonb('{"a":1}');          -- true
SELECT pgsql_tweaks.is_boolean('true');            -- true
SELECT pgsql_tweaks.is_timestamp('2024-01-15 10:30:00');  -- true
SELECT pgsql_tweaks.is_hex('FF');                 -- true

系统信息函数

SELECT pgsql_tweaks.pg_schema_size('public');     -- 模式大小(字节)

聚合函数

  • gap_fill – 填充时间序列中的空缺
  • array_minarray_maxarray_avgarray_sum – 数组聚合

转换函数

SELECT pgsql_tweaks.to_unix_timestamp(now());
SELECT pgsql_tweaks.hex2bigint('FF');

工具函数

SELECT pgsql_tweaks.is_empty('');                 -- true
SELECT pgsql_tweaks.array_trim(ARRAY['a','','b']);

系统信息视图

  • pg_db_viewspg_foreign_keyspg_functionspg_active_locks
  • pg_table_matview_infospg_object_ownershippg_unused_indexes
  • pg_bloat_infopg_missing_indexespg_role_permissions

监控视图

  • monitoring_walmonitoring_active_locksmonitoring_replication
  • monitoring_database_conflictsmonitoring_vacuum
  • statistics_top_ten_query_timesstatistics_query_activity

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