Don't get bitten by missing foreign key indexes
Postgres doesn't give you indexes on foreign keys by default (unlike primary keys). This makes some sense when you think about it - there's no necessity for them in order to keep the constraint checking efficient.
In reality, you nearly always want an index on any foreign keys - every time you join tables on said key.
Source: foreign key indexes, an article by Oliver Russell.