pgsql_tweaks
一些日常会用到的便利函数与视图
仓库
https://codeberg.org/pgsql_tweaks/pgsql_tweaks
https://codeberg.org/pgsql_tweaks/pgsql_tweaks
源码
pgsql_tweaks-v1.0.3.tar.gz
pgsql_tweaks-v1.0.3.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgsql_tweaks | 1.0.3 | UTIL | PostgreSQL | SQL |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4200 | pgsql_tweaks | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | pg_extra_time extra_window_functions gzip bzip zstd http pg_net pg_curl |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.3 | 1817161514 | pgsql_tweaks | - |
| RPM | PIGSTY | 1.0.3 | 1817161514 | pgsql_tweaks_$v | - |
| DEB | PIGSTY | 1.0.3 | 1817161514 | postgresql-$v-pgsql-tweaks | - |
构建
您可以使用 pig build 命令构建 pgsql_tweaks 扩展的 RPM / DEB 包:
pig build pkg pgsql_tweaks # 构建 RPM / DEB 包
安装
您可以直接安装 pgsql_tweaks 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
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 README、documentation site、Codeberg tags。
pgsql_tweaks 在 pgsql_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_min、array_max、array_avg和array_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_views、pg_foreign_keys、pg_functions、pg_active_locks。pg_table_matview_infos、pg_object_ownership、pg_partitioned_tables_infos。pg_unused_indexes、pg_bloat_info、pg_table_bloat、pg_missing_indexes。pg_role_permissions、pg_role_infos。
统计与监控视图
statistics_top_ten_query_times、top_ten_query_average_time_in_seconds。statistics_top_ten_time_consuming_queries、statistics_top_ten_memory_usage_queries。statistics_top_ten_called_queries、statistics_top_ten_rows_returned_queries。statistics_top_ten_shared_block_hits_queries、statistics_top_ten_wal_records_generated_queries。statistics_query_activity。monitoring_wal、wal_archiving、monitoring_active_locks、monitoring_replication。monitoring_database_conflicts、monitoring_blocked_and_blocking_activity。monitoring_follower_wal_status、monitoring_vacuum。
注意事项
- 部分视图/函数依赖额外的 PostgreSQL 随附模块;上游列出了
pg_stat_statements和pgstattuple。 - Codeberg 的
v1.0.3tag 说明添加了发布文件;从 README 和 tag 元数据中没有识别出实质性的面向用户函数或视图变化。