pgdd
提供通过标准SQL查询数据库目录集簇的能力
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgdd | 0.6.1 | ADMIN | MIT | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 5130 | pgdd | 否 | 是 | 否 | 是 | 否 | 否 | dd |
| 相关扩展 | pg_catcheck pg_orphaned pg_checksums |
|---|
manual updated pgrx by Vonng
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.6.1 | 1817161514 | pgdd | - |
| RPM | PIGSTY | 0.6.1 | 1817161514 | pgdd_$v | - |
| DEB | PIGSTY | 0.6.1 | 1817161514 | postgresql-$v-pgdd | - |
构建
您可以使用 pig build 命令构建 pgdd 扩展的 RPM / DEB 包:
pig build pkg pgdd # 构建 RPM / DEB 包
安装
您可以直接安装 pgdd 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install pgdd; # 当前活跃 PG 版本安装
pig ext install -y pgdd -v 18 # PG 18
pig ext install -y pgdd -v 17 # PG 17
pig ext install -y pgdd -v 16 # PG 16
pig ext install -y pgdd -v 15 # PG 15
pig ext install -y pgdd -v 14 # PG 14
dnf install -y pgdd_18 # PG 18
dnf install -y pgdd_17 # PG 17
dnf install -y pgdd_16 # PG 16
dnf install -y pgdd_15 # PG 15
dnf install -y pgdd_14 # PG 14
apt install -y postgresql-18-pgdd # PG 18
apt install -y postgresql-17-pgdd # PG 17
apt install -y postgresql-16-pgdd # PG 16
apt install -y postgresql-15-pgdd # PG 15
apt install -y postgresql-14-pgdd # PG 14
创建扩展:
CREATE EXTENSION pgdd;
用法
PgDD 在 dd 模式中提供数据字典视图,用于通过标准 SQL 内省数据库对象。
数据库概览
SELECT * FROM dd.database;
返回:db_name、db_size、schema_count、table_count、size_in_tables、view_count、size_in_views、extension_count。
模式
SELECT s_name, table_count, view_count, function_count, size_plus_indexes, description
FROM dd.schemas;
表
SELECT t_name, size_pretty, rows, bytes_per_row
FROM dd.tables
WHERE s_name = 'public';
视图
SELECT s_name, v_name, description FROM dd.views;
列
SELECT source_type, s_name, t_name, c_name, data_type
FROM dd.columns
WHERE data_type LIKE 'int%';
函数
SELECT s_name, f_name, argument_data_types, result_data_types FROM dd.functions;
分区表
SELECT * FROM dd.partition_parents WHERE s_name = 'public';
SELECT * FROM dd.partition_children WHERE s_name = 'public';
partition_parents 视图显示聚合的分区统计信息(数量、总大小、总行数)。partition_children 视图显示每个分区的详情及相对于父表的百分比计算。
默认排除系统对象。如需包含系统对象,请直接查询底层函数:SELECT * FROM dd.tables() WHERE system_object;