Re: drop function all - ?

From: Együd Csaba <csegyud(at)freemail(dot)hu>
To: elein(at)varlena(dot)com
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: drop function all - ?
Date: 2003-07-14 09:48:27
Message-ID: 002901c349ed$2b31d9f0$230a0a0a@compaq
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Elein,
actually I do not store my source in a cvs or anything similar.
Yes, you are absolutally right I should but I'm allways busy and
do not have the time to deal enought with these nice softwares.

But I think my problem is not about this. I have the latest
source code in a separate file so I can restore my functions.

My question points the leak of an expression which can clean
the database from the old or expired stored procedures.
Actually I also can create shell scripts to delete the stored
procs (pg_dump, grep, sed, ...) but I think this could be
covered its own command in such a flexible DBMS like
Postgres.

Best Regards

-- Csaba

----- Original Message -----
From: "elein" <elein(at)varlena(dot)com>
To: "Együd Csaba" <csegyud(at)freemail(dot)hu>
Cc: <pgsql-general(at)postgresql(dot)org>
Sent: Sunday, July 13, 2003 10:44 PM
Subject: Re: [GENERAL] drop function all - ?

> You don't keep the SQL for your functions in
> source code control?
>
> When working on a database design, always keep your
> original *and* modified SQL scripts so that you can
> always create an empty version of your production
> system. Part of that is creating drop scripts
> for each object, including functions, that you create.
> CYA.
>
> For those of you playing fast and loose,
> this query will produce a list of functions and arguments
> in the schema public. Use it in a shell script loop
> to drop your functions.
>
> SELECT
> n.nspname || '.' || p.proname || '(' ||
pg_catalog.oidvectortypes(p.proargtypes) || ')'
> FROM pg_catalog.pg_proc p
> LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
> WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
> AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
> AND NOT p.proisagg
> AND n.nspname ~ '^public$';
>
> DO NOT under ANY circumstances drop
> ANY functions in the schema pg_catalog.
>
> elein(at)varlena(dot)com
>
>
> On Sun, Jul 13, 2003 at 02:02:15PM +0200, Együd Csaba wrote:
> > Hi,
> > is there any way to get rid of all of my functions in a database. I mean
> > such an expression: DROP FUNCTION ALL;
> >
> > The point of this issue is that time to time one writes and rewrites
> > functions with the same name and forgets to remove the existing ones. At
a
> > certain time one tries to call a function but don't know why it fails.
It
> > fails bacause there is an other (or more) function with the same name
and
> > with a very similar parameter list (the same number and convertable
types).
> >
> > I'm in this situation....
> > So I'd like to remove all my functions and recreate the latest ones from
a
> > file. Without dropping the whole database of corse.
> >
> > Any suggestions????
> >
> > Thank you,
> >
> > -- Csaba
> >
> >
> >
> > ---
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com)
> > Version: 6.0.495 / Virus Database: 294 - Release Date: 2003. 06. 30.
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 9: the planner will ignore your desire to choose an index scan if
your
> > joining column's datatypes do not match
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>
>
>

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com)
Version: 6.0.495 / Virus Database: 294 - Release Date: 2003. 06. 30.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2003-07-14 10:17:45 Re: different transaction handling between postgresql and
Previous Message Csaba Nagy 2003-07-14 09:40:50 Re: different transaction handling between postgresql and