I think there are a lot of extensions which create functions which
could benefit from being declared parallel safe. But how does one go
about doing that?
create extension xml2;
select xml_valid(filler),count(*) from pgbench_accounts group by 1;Time: 3205.830 ms
alter function xml_valid (text) parallel safe;
select xml_valid(filler),count(*) from pgbench_accounts group by 1;
Time: 1803.936 ms
(Note that I have no particular interest in the xml2 extension, it
just provides a convenient demonstration of the general principle)
Should every relevant contrib extension get a version bump with a
transition file which is nothing but a list of "alter function blah
blah blah parallel safe" ?
And what of non-contrib extensions? Is there some clever alternative
to having a bunch of pseudo versions, like "1.0", "1.0_96", "1.1",
"1.1_9.6", "1.2", "1.2_96", etc.?
Cheers,
Jeff