Jeff Janes <jeff(dot)janes(at)gmail(dot)com> writes:
> Analyze on functional indexes cannot be interrupted very easily.
> ...
> The attached patch fixes it, but don't vouch for its safety.
Hm. The other per-sample-row loops in analyze.c use vacuum_delay_point()
rather than CHECK_FOR_INTERRUPTS() directly. Ordinarily that wouldn't
make much difference here, but maybe a slow index function might be
incurring I/O?
regards, tom lane