Skip to content

Instantly share code, notes, and snippets.

@vietlq
Forked from dpapathanasiou/SchemaSpy-HOWTO.md
Created September 16, 2016 10:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vietlq/66fe0b3cec1c5bf94f184fcef399c03c to your computer and use it in GitHub Desktop.
Save vietlq/66fe0b3cec1c5bf94f184fcef399c03c to your computer and use it in GitHub Desktop.
How to use SchemaSpy to generate the db schema diagram for a PostgreSQL database

SchemaSpy is a neat tool to produce visual diagrams for most relational databases.

Here's how to use it to generate schema relationship diagrams for PostgreSQL databases:

  1. Download the jar file from here (the current version is schemaSpy_5.0.0.jar)

  2. Get the PostgreSQL JDBC driver (either the JDBC3 or JDBC4 jar file is fine)

  3. Run the command against an existing database. For most databases, the schema (-s option) we are interested in is the public one:

java -jar schemaSpy_5.0.0.jar -t pgsql
-s public -db [db name] -u [db user] -p [password]
-host localhost -o /tmp
-dp /path/to/JDBC/driver/postgresql-9.4-1200.jdbc4.jar


The above example sends all the output to the <tt>/tmp</tt> folder, but that can be changed as desired.

SchemaSpy produces several different diagrams, but the main summary diagram is in:

<tt>/tmp/diagrams/summary/relationships.real.large.png</tt>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment