Обсуждение: DROP DATABASE, but still there

Поиск
Список
Период
Сортировка

DROP DATABASE, but still there

От
Robert Fitzpatrick
Дата:
What does it mean when you drop a database and then recreate with the
same name and all the objects are still there. I want to wipe out the db
and put back from pg_restore. After I re-create the db, all the old
tables are back before I run pg_restore.

--
Robert


Re: DROP DATABASE, but still there

От
Doug McNaught
Дата:
Robert Fitzpatrick <robert@webtent.com> writes:

> What does it mean when you drop a database and then recreate with the
> same name and all the objects are still there. I want to wipe out the db
> and put back from pg_restore. After I re-create the db, all the old
> tables are back before I run pg_restore.

Check the 'template1' database to see if the tables got put in there
by mistake at some point.

-Doug

Re: DROP DATABASE, but still there

От
Robert Fitzpatrick
Дата:
On Thu, 2004-11-11 at 14:03, Doug McNaught wrote:
> Robert Fitzpatrick <robert@webtent.com> writes:
>
> > What does it mean when you drop a database and then recreate with the
> > same name and all the objects are still there. I want to wipe out the db
> > and put back from pg_restore. After I re-create the db, all the old
> > tables are back before I run pg_restore.
>
> Check the 'template1' database to see if the tables got put in there
> by mistake at some point.

Yeah, I was just starting to realize that these objects that keep coming
back are in the template1 as well.....any reason why I shouldn't drop
the template1 and re-create like any other?

--
Robert


Re: DROP DATABASE, but still there

От
Bruno Wolff III
Дата:
On Thu, Nov 11, 2004 at 14:17:45 -0500,
  Robert Fitzpatrick <robert@webtent.com> wrote:
> On Thu, 2004-11-11 at 14:03, Doug McNaught wrote:
> > Robert Fitzpatrick <robert@webtent.com> writes:
> >
> > > What does it mean when you drop a database and then recreate with the
> > > same name and all the objects are still there. I want to wipe out the db
> > > and put back from pg_restore. After I re-create the db, all the old
> > > tables are back before I run pg_restore.
> >
> > Check the 'template1' database to see if the tables got put in there
> > by mistake at some point.
>
> Yeah, I was just starting to realize that these objects that keep coming
> back are in the template1 as well.....any reason why I shouldn't drop
> the template1 and re-create like any other?

I think you need to use the -T option if you do this to have a copy made
of template0 instead of the default of template1.

Re: DROP DATABASE, but still there

От
Greg Stark
Дата:
Robert Fitzpatrick <robert@webtent.com> writes:

> Yeah, I was just starting to realize that these objects that keep coming
> back are in the template1 as well.....any reason why I shouldn't drop
> the template1 and re-create like any other?

You can do that but you'll have to do:

  CREATE DATABASE template1 WITH template = 'template0'


--
greg

Re: DROP DATABASE, but still there

От
Tom Lane
Дата:
Greg Stark <gsstark@mit.edu> writes:
> Robert Fitzpatrick <robert@webtent.com> writes:
>> Yeah, I was just starting to realize that these objects that keep coming
>> back are in the template1 as well.....any reason why I shouldn't drop
>> the template1 and re-create like any other?

> You can do that but you'll have to do:
>   CREATE DATABASE template1 WITH template = 'template0'

Also there are several safety interlocks you'll have to defeat, IIRC.
It's not rocket science but I'd recommend consulting the writeup on
techdocs.postgresql.org about the exact process for recreating
template1.

            regards, tom lane