> I'm a bit surprised of that behavior thought, since it means that if we
> delete a row from table A all tables (B,C,D) with FK pointing to this
> table (A) must be scanned.
> If there is no index on those tables it means we gone do all Sequantial
> scans. Than can cause significant performance problem!!!.
Correct.
> Is there a reason why implicit index aren't created when FK are
> declared.
Because it's not a requirement...
> I looked into the documentation and I haven't found a way to
> tell postgresql to automatically create an index when creating la FK.
> Does it means I need to manage it EXPLICITLY with create index statement
> ? Is there another way ?
No other way - you need to explicitly create them. It's not that hard
either to write a query to search the system catalogs for unindexed FK's.
Chris