On Sat, Mar 28, 2015 at 3:37 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Jeff Janes <jeff.ja...@gmail.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? > That isn't the case for me (and if it were, they wouldn't be going through the buffer manager anyway and so would not trigger delay criteria), but that seems like a valid concern in general. It also explains why I couldn't find CHECK_FOR_INTERRUPTS in other loops of that file, because I was looking for the wrong spelling. Adding a vacuum_delay_point does solve the immediately observed problem, both the toy one and the more realistic one. Thanks, Jeff
compute_index_stats_vacdelay.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers