Re: Drop all overloads of a function without knowing parameter types

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Evan Martin <postgresql(at)realityexists(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Drop all overloads of a function without knowing parameter types
Date: 2014-02-03 18:09:21
Message-ID: 1684.1391450961@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Evan Martin <postgresql(at)realityexists(dot)net> writes:
> Is there any easy way to drop a function (all overloads of it) without
> knowing the parameter types?

Something along the lines of

do $$
declare fname text;
begin
for fname in select oid::regprocedure from pg_proc where proname = 'foo' loop
execute 'drop function ' || fname;
end loop;
end$$;

Adjust WHERE condition to taste.

> If not, it would be good to see it added.

People periodically ask for extensions flavored more or less like this,
but I'm suspicious of building any such thing into the core. There's too
little commonality in the exact conditions they want to search on.
Leaving it at the level of a scripting problem, as above, allows arbitrary
customization of the search condition.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Madhurima Das 2014-02-03 18:31:28 help on using C for postgresql
Previous Message Evan Martin 2014-02-03 17:55:49 Drop all overloads of a function without knowing parameter types