pgsql_tweaks

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

概览

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

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY1.0.31817161514pgsql_tweaks-
RPMPIGSTY1.0.31817161514pgsql_tweaks_$v-
DEBPIGSTY1.0.31817161514postgresql-$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.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
d13.x86_64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
d13.aarch64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
u22.x86_64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
u22.aarch64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
u24.x86_64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
u24.aarch64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
u26.x86_64
u26.aarch64
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3
PIGSTY 1.0.3

构建

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

pig build pkg pgsql_tweaks         # 构建 RPM / 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;

用法

来源:Codeberg READMEdocumentation siteCodeberg tags

pgsql_tweakspgsql_tweaks 模式中提供面向 DBA 的辅助函数和视图。上游测试矩阵覆盖 PostgreSQL 14 到 PostgreSQL 19 beta 1;Pigsty 为 PostgreSQL 14-18 打包。

数据类型检查函数

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

系统信息函数

SELECT pgsql_tweaks.pg_schema_size('public');
SELECT * FROM pgsql_tweaks.role_inheritance();

编码函数

SELECT pgsql_tweaks.is_encoding('UTF8');
SELECT pgsql_tweaks.is_latin1('abc');
SELECT pgsql_tweaks.return_not_part_of_latin1('abc');
SELECT pgsql_tweaks.replace_latin1('abc', '?');
SELECT pgsql_tweaks.return_not_part_of_encoding('abc', 'UTF8');
SELECT pgsql_tweaks.replace_encoding('abc', 'UTF8', '?');

聚合函数

  • gap_fill,用于填补时间序列中的空缺。
  • array_minarray_maxarray_avgarray_sum

格式与转换函数

SELECT pgsql_tweaks.date_de(current_date);
SELECT pgsql_tweaks.datetime_de(now());
SELECT pgsql_tweaks.to_unix_timestamp(now());
SELECT pgsql_tweaks.hex2bigint('FF');

工具函数

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

系统信息视图

  • pg_db_viewspg_foreign_keyspg_functionspg_active_locks
  • pg_table_matview_infospg_object_ownershippg_partitioned_tables_infos
  • pg_unused_indexespg_bloat_infopg_table_bloatpg_missing_indexes
  • pg_role_permissionspg_role_infos

统计与监控视图

  • statistics_top_ten_query_timestop_ten_query_average_time_in_seconds
  • statistics_top_ten_time_consuming_queriesstatistics_top_ten_memory_usage_queries
  • statistics_top_ten_called_queriesstatistics_top_ten_rows_returned_queries
  • statistics_top_ten_shared_block_hits_queriesstatistics_top_ten_wal_records_generated_queries
  • statistics_query_activity
  • monitoring_walwal_archivingmonitoring_active_locksmonitoring_replication
  • monitoring_database_conflictsmonitoring_blocked_and_blocking_activity
  • monitoring_follower_wal_statusmonitoring_vacuum

注意事项

  • 部分视图/函数依赖额外的 PostgreSQL 随附模块;上游列出了 pg_stat_statementspgstattuple
  • Codeberg 的 v1.0.3 tag 说明添加了发布文件;从 README 和 tag 元数据中没有识别出实质性的面向用户函数或视图变化。

最后修改 2026-06-18: extension data update (63e2bd9)