pg_readme
为模式与扩展生成Markdown文档
仓库
bigsmoke/pg_readme
https://github.com/bigsmoke/pg_readme
源码
pg_readme-0.7.0.tar.gz
pg_readme-0.7.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_readme | 0.7.0 | UTIL | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4300 | pg_readme | 否 | 否 | 否 | 是 | 否 | 是 | - |
| 4301 | pg_readme_test_extension | 否 | 否 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | hstore ddl_historization schedoc pg_render gzip bzip zstd http pg_net |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 0.7.0 | 1817161514 | pg_readme | hstore |
| RPM | PGDG | 0.7.0 | 1817161514 | pg_readme_$v | - |
| DEB | PIGSTY | 0.7.0 | 1817161514 | postgresql-$v-pg-readme | - |
构建
您可以使用 pig build 命令构建 pg_readme 扩展的 DEB 包:
pig build pkg pg_readme # 构建 DEB 包
安装
您可以直接安装 pg_readme 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install pg_readme; # 当前活跃 PG 版本安装
pig ext install -y pg_readme -v 18 # PG 18
pig ext install -y pg_readme -v 17 # PG 17
pig ext install -y pg_readme -v 16 # PG 16
pig ext install -y pg_readme -v 15 # PG 15
pig ext install -y pg_readme -v 14 # PG 14
dnf install -y pg_readme_18 # PG 18
dnf install -y pg_readme_17 # PG 17
dnf install -y pg_readme_16 # PG 16
dnf install -y pg_readme_15 # PG 15
dnf install -y pg_readme_14 # PG 14
apt install -y postgresql-18-pg-readme # PG 18
apt install -y postgresql-17-pg-readme # PG 17
apt install -y postgresql-16-pg-readme # PG 16
apt install -y postgresql-15-pg-readme # PG 15
apt install -y postgresql-14-pg-readme # PG 14
创建扩展:
CREATE EXTENSION pg_readme CASCADE; -- 依赖: hstore
用法
根据 pg_description 系统目录中的 COMMENT 对象,为扩展或模式生成 README.md 文档。
生成扩展 README
SELECT pg_extension_readme('my_extension'::name);
生成模式 README
SELECT pg_schema_readme('my_schema'::regnamespace);
处理指令
在 COMMENT ON EXTENSION 或 COMMENT ON SCHEMA 中包含以下 XML 处理指令:
<?pg-readme-reference?>– 替换为完整的对象引用<?pg-readme-colophon?>– 添加包含 pg_readme 信息的版权页
典型工作流程
在扩展中创建一个生成 README 的函数:
CREATE FUNCTION my_ext_readme() RETURNS text
VOLATILE SET search_path FROM current
SET pg_readme.include_view_definitions TO 'true'
LANGUAGE plpgsql AS $$
DECLARE _readme text;
BEGIN
CREATE EXTENSION IF NOT EXISTS pg_readme WITH VERSION '0.1.0';
_readme := pg_extension_readme('my_extension'::name);
RAISE transaction_rollback;
EXCEPTION WHEN transaction_rollback THEN RETURN _readme;
END; $$;
然后通过以下命令生成:make README.md
设置
| 设置项 | 默认值 |
|---|---|
pg_readme.include_view_definitions | true |
pg_readme.include_routine_definitions_like | '{test__%}' |
pg_readme.include_this_routine_definition | null |