Thread: Functions not dropped.

Functions not dropped.

From
Glen Eustace
Date:
I was a little surprised today when I tried to move a production
database on to my test server.  The test server already had a copy of
the database so I did

psql -Uadmin template1
drop database admin;
create database admin;

When I tried to reload the production database dump, I got a series of
errors relating to functions. I repeated the exercise but this time did
a \df prior to trying to load the database. In the public schema for the
newly created admin database where all the functions from the old one.
It seems that the drop database doesn't drop all of the functions. Is it
supposed to ? I am using 7.4.2 on FC2.

If it isn't is there a way to clean them all out before the load ?

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Glen and Rosanne Eustace,
GodZone Internet Services, a division of AGRE Enterprises Ltd.,
P.O. Box 8020, Palmerston North, New Zealand 5301
Ph/Fax: +64 6 357 8168, Mob: +64 27 5 424 015, Web: www.godzone.net.nz

"A Ministry specialising in providing low-cost professional Internet
Services to NZ Christian Churches, Ministries and Organisations"


Re: Functions not dropped.

From
"Gary Doades"
Date:
On 1 Nov 2004 at 20:45, Glen Eustace wrote:

> When I tried to reload the production database dump, I got a series of
> errors relating to functions. I repeated the exercise but this time did
> a \df prior to trying to load the database. In the public schema for the
> newly created admin database where all the functions from the old one.
> It seems that the drop database doesn't drop all of the functions. Is it
> supposed to ? I am using 7.4.2 on FC2.
>
> If it isn't is there a way to clean them all out before the load ?
>

It's more likely that the functions are defined in the template1 database
and so get copied to every new database. You should remove them
from there if you don't want this behaviour.

Cheers,
Gary.


Re: Functions not dropped.

From
Sim Zacks
Date:
I would check the template1 database to see if you had the functions
defined there as well.
Any functions/structures/data... in template1 will be moved to the new
database. Then when you try to restore the old one it will conflict.

Thank You
Sim Zacks
IT Manager
CompuLab
04-829-0145 - Office
04-832-5251 - Fax

________________________________________________________________________________

I was a little surprised today when I tried to move a production
database on to my test server.  The test server already had a copy of
the database so I did

psql -Uadmin template1
drop database admin;
create database admin;

When I tried to reload the production database dump, I got a series of
errors relating to functions. I repeated the exercise but this time did
a \df prior to trying to load the database. In the public schema for the
newly created admin database where all the functions from the old one.
It seems that the drop database doesn't drop all of the functions. Is it
supposed to ? I am using 7.4.2 on FC2.

If it isn't is there a way to clean them all out before the load ?

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Glen and Rosanne Eustace,
GodZone Internet Services, a division of AGRE Enterprises Ltd.,
P.O. Box 8020, Palmerston North, New Zealand 5301
Ph/Fax: +64 6 357 8168, Mob: +64 27 5 424 015, Web: www.godzone.net.nz

"A Ministry specialising in providing low-cost professional Internet
Services to NZ Christian Churches, Ministries and Organisations"


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster


Re: Functions not dropped.

From
Glen Eustace
Date:
On Mon, 2004-11-01 at 21:14, Sim Zacks wrote:
> I would check the template1 database to see if you had the functions
> defined there as well.
> Any functions/structures/data... in template1 will be moved to the new
> database. Then when you try to restore the old one it will conflict.

Thanks you.

That is exactly what had happened.  I recall on a previous exercise
loading the database but forgetting to created the admin db first and it
loading the whole lot into template1.  I remember cleaning out all the
tables etc, I must have forgotten the functions.

Time to re-init the installation.