SchemaSpy
来自 PostgreSQL 维基
跳转到导航跳转到搜索关于
SchemaSpy是一个 Java 工具,借助于 Graphviz,可以为现有的数据库生成一系列相互链接的 HTML 页面,从而形成粗略的文档。
支持大型表
截至 2012-05-18,最新的 jar 文件,也就是 SchemaSpy 5.0.0,无法正确处理大量行,即如果超过 2^31-1 行。因此,有必要从源代码编译它。使用 Eclipse 非常简单。编译后的版本可以导出为 jar 文件。
PostgreSQL 的默认属性文件没有使用 有效的行估计。以下代码片段可以代替默认属性文件,我们称之为 mypg.properties。
#
# see http://schemaspy.sourceforge.net/dbtypes.html
# for configuration / customization details
#
description=PostgreSQL
connectionSpec=jdbc:postgresql://<host>/<db>
host=some host
db=some db
driver=org.postgresql.Driver
# Sample path to the postgresql drivers.
# Use -dp to override.
driverPath=./postgresql-9.1-902.jdbc4.jar
selectRowCountSql=select reltuples as row_count from pg_class where relname=:table
请注意,即使使用 selectRowCountSql,在大型表的情况下,最后生成的二进制文件也会失败。
工具的调用方式如下
java -jar schemaSpy.jar -t ./mypg -db mydb -u myuser -host myhost -o output_folder -p mypass -schemas "public,something,else" -noviews
缺点
不记录表继承关系。