Andreas Wernitznig <andreas@insilico.com> writes:
> -> Using one connection the optimizer for pk/fk-checking is not
> updated by a "vacuum analyze".
Oh, I misunderstood you the first time: I thought you were saying that
*other* backends couldn't see the results of the VACUUM.
The reason for this behavior is that the foreign key checker caches a
plan for each foreign-key-checking query the first time it needs to
use that query (within a given backend). There should be a mechanism
to flush those cached plans when circumstances change ... but currently
there isn't.
regards, tom lane