Re: Parallel safety tagging of extension functions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andreas Karlsson <andreas(at)proxel(dot)se>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel safety tagging of extension functions
Date: 2016-05-31 16:47:58
Message-ID: 8118.1464713278@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andreas Karlsson <andreas(at)proxel(dot)se> writes:
> So how to best change the function signatures? I do not think it is
> possible without locking indexes by just using the SQL commands. You
> cannot drop a function from the operator family without dropping the
> operator class first.

Ugh. I had been thinking that you could use ALTER OPERATOR FAMILY DROP
FUNCTION, but these functions are not "loose" in the opfamily --- they're
assumed to be bound to the specific opclass. So there's an opclass
dependency preventing them from getting dropped; and we have no SQL
commands for changing the contents of an opclass. After some fooling
around, I couldn't find a way to do it without some manual catalog update
or other.

Given that, your original approach of manually updating proargtypes in the
existing pg_proc row for the functions may be the best way. Anything else
is going to be more complicated and ultimately will still require at least
one direct catalog update.

Sometime we might want to think about making this sort of thing cleaner
with more ALTER commands, but post-beta is probably not the time for that;
it wouldn't be a small patch.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-05-31 16:59:35 Re: Re: PATCH: Split stats file per database WAS: autovacuum stress-testing our system
Previous Message Josh berkus 2016-05-31 16:41:08 Re: Rename max_parallel_degree?