用途:在实现或调试 pgschema 涉及从 PostgreSQL 数据库提取模式信息的功能时,参考 pg_dump 这一权威模式导出工具,学习如何正确查询系统目录。
主要能力:提供按对象类型(表与列、约束、索引、触发器、视图与物化视图、函数与过程、序列、类型、策略、聚合、注释)定位 pg_dump 中对应函数与所用系统目录的对照表,例如 getTables() 对应 pg_class/pg_attribute/pg_type,getIndexes() 对应 pg_index/pg_class。支持理解 PostgreSQL 内部对象表示、版本特定特性(14-17)、DDL 格式化模式与对象依赖关系。
使用方式:先识别模式对象类型,再在 pg_dump.c 中查找对应函数,分析其系统目录查询,检查版本兼容、NULL 处理、默认值、内部对象过滤与依赖等特殊情况,然后适配到 pgschema 的 ir/inspector.go、ir/parser.go 或 internal/diff/*.go。
关键限制:pgschema 并非 pg_dump,前者输出可编辑的声明式模式文件并支持 plan/apply,后者生成用于恢复的归档转储;不应照搬其输出格式、归档恢复逻辑、整库转储或旧版本支持。pg_dump 在系统目录查询模式、pg_get_* 函数用法、版本特性检测与依赖追踪方面具有权威性。
示例与验证:资料给出生成列、部分索引等查询示例及索引结构存储方式,并列出集成测试与多版本验证清单,包括运行 go test -v ./internal/diff -run TestDiffFromFiles 和 go test -v ./cmd -run TestPlanAndApply。
暂未提供:安装命令、收费与价格、平台信息。