Forum OpenACS Q&A: Best way to document PostgreSQL database is ...?

I am building an application which adds a bunch of new PostgreSQL
tables to OpenACS.  I used ERWin 3.5 to lay out the initial table
designs (neat!), but it doesn't have PostgreSQL hooks so that I can
keep that model synchronized with the actual database.  I'd like a
way to quickly see the actual current definition of tables et al,
including any ALTERs and DROPs done since initial creation, and
especially including column and table constraints.  psql d...
commands only seem to provide a partial display, as does pg_dump
tablename.  And it would be nice if the display had constraints in
the original specification format rather than derived triggers.
Anyone have an efficient way to do this?  Ideally I'd like to do this
for only the new tables I'm adding, not for the entire OpenACS
database.  Thanks!!