Re: text cast on regprocedure fails on 8.2

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Jan-Peter Seifert <Jan-Peter(dot)Seifert(at)gmx(dot)de>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: text cast on regprocedure fails on 8.2
Date: 2009-08-20 14:14:48
Message-ID: 20090820141448.GD6261@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Jan-Peter Seifert wrote:
> Hello,
>
> for dropping all functions within the current schema I use this SQL query:
>
> SELECT DISTINCT 'DROP FUNCTION ' || p.oid::regprocedure::text || ' CASCADE;' FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = current_schema();
>
> It works fine on 8.3. It fails on 8.2 with the error message that conversion to text is not possible for data type regprocedure.
>
> I didn't see any explicit type cast in 8.3 for regprocedure -> text. Is there a way to add it in 8.2?

You can do this:

SELECT DISTINCT 'DROP FUNCTION ' || textin(regprocedureout(p.oid::regprocedure)) || ' CASCADE;' FROM pg_catalog.pg_proc p LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = current_schema();

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2009-08-20 14:25:39 Re: text cast on regprocedure fails on 8.2
Previous Message Emanuel Calvo Franco 2009-08-20 13:59:29 Re: help tuning query