I've been playing with this sort of thing for a while.
[Identify candidate FK where a table contains the equivalent fields as those participating in aa PK[/li]
Text parsing SYS.comments for joins in views should also help Identify candidates but is significantly more involved.
I Have a working box of bits for Vertica,, Teradata, MySql, SQL server and I'm looking to experiment with RedShift in the near future. I think working out how to do this for Postgres would be handy.