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

-- 
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Reply via email to