我有一个包含大约 50 个表的数据库。我想在每个表上运行报告“数据字典”。
理想情况下,我希望它们都在一个报告中,例如,在 PGAdminIII 中,如果我右键单击选择“表”,我将获得所有“对象”的报告,每个对象下都有一个数据字典报告。
是否有自动执行此操作的方法,或者我可以安装到 postgres 的插件?或者有没有类似的东西?
我有一个包含大约 50 个表的数据库。我想在每个表上运行报告“数据字典”。
理想情况下,我希望它们都在一个报告中,例如,在 PGAdminIII 中,如果我右键单击选择“表”,我将获得所有“对象”的报告,每个对象下都有一个数据字典报告。
是否有自动执行此操作的方法,或者我可以安装到 postgres 的插件?或者有没有类似的东西?
如果我理解正确,您指的是鼠标右键单击 PgAdminIII 中的表并选择报告 > 数据字典报告的能力?
我不知道 PgAdminIII 有什么方法可以做到这一点。您可以考虑使用其他工具,例如 SchemaSpy。另一种选择(正如@kgrittn 所暗示的)是使用带有 \H 标志的 psql \d 来生成 html 输出。我的解决方案(因为 SchemaSpy 没有做我需要的事情,而且我需要 Postgres 和 Oracle 的相同输出)是使用 perl、DBD::Pg 和 Template::Toolkit 推出我自己的解决方案。
更新:添加了 GitHub 链接。
我用 Python 编写了一个相当简单的 Postgres 数据字典生成器,它涵盖了指定数据库中的所有模式和表。如果它不完全符合您的要求,那么修改将相当容易。