Jim Nasby <jim.na...@bluetreble.com> writes: > On 1/11/16 1:00 PM, Tom Lane wrote: >> The question of whether to do ERROR or FATAL remains open. I'm not sure >> I have a strong preference either way.
> If they both get loaded is there risk of bad data happening? Personally, > I'll take a traceable FATAL (or even PANIC) over data corruption every > time. But I'm guessing that if you tried to use both you'd pretty > immediately end up crashing the backend. Yeah, the conservative solution would definitely be to use FATAL. It's still a usability improvement over what we have now. In further experimentation, I found out that even with this patch in place, the plpython transform extensions still present a dump/reload hazard: test=# create extension plpython2u; CREATE EXTENSION test=# create extension ltree_plpython3u cascade; NOTICE: installing required extension "ltree" NOTICE: installing required extension "plpython3u" ERROR: multiple Python libraries are present in session DETAIL: Only one Python major version can be used in one session. AFAICS, the reason for that is this code in the transform extension scripts: -- make sure the prerequisite libraries are loaded DO '1' LANGUAGE plpython3u; It does appear that we need something for this, because if you just remove it you get failures like Symbol not found: _PLyUnicode_FromStringAndSize But I wonder why we couldn't make it do LOAD 'plpython3'; instead. If I change the script like that, it seems to go through fine even with both Python libraries loaded, because CREATE TRANSFORM does not actually call into the language implementation. regards, tom lane -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers