Cool graphic, but I couldn't quite guess what all the symbolism
was supposed to mean... (I'm sure it's easy, once you learn
it.)
Does PostgreSQL work like Oracle, storing the table names,
column names, data types, constraints (like "primary key",
"unique", "not-null", etc), and "foreign key" (join-column)
relations in it's own set of distinctly named tables?
If so, then doing a suitable
set of queries on these tables will give you the data you
need to create such a chart, and if you're already using
DBI and DBD::Postgres, it should be pretty quick work to
cook it up.