Agreed, it's too obscure. Attached v4 fixes as you said.
Seems to be simple enough patch and works. However I would like documentation to say that the range is 0 to 1 and represents fraction of the queries sampled, because right now both the GUC description and the documentation say it's in percent but that's not really true as percent is 0 to 100.
Agreed. v5 attached fixes that.
Great, I will test it once more (just because when I don't bugs suddenly appear out of nowhere) and mark it ready for committer.
Coming back to the previous discussions about random() - AFAICT this patch will introduce the random() call always (in explain_ExecutorStart):
Not sure what the overhead is, but wouldn't it be better to include a check for current_query_sampled>0 in the if part of that statement? Regardless of performance, that feels cleaner to me. Or am I missing something?