Обсуждение: Mind of its own?
Hopefully not, but I feel so helpless. What happened? I am using Postgresql 9.6, and the latest phppgadmin. OS is Debian 9.6. 1. Created a database. 2. Created tables inside that database. 3. Dropped that database. Now, what happens is when I create another database with the same name or different name, all those tables are already insidethat database!!! I have not run the table create script. This is a cruel joke. What is happening?
On 3/1/19 9:10 AM, s400t@yahoo.co.jp wrote: > Hopefully not, but I feel so helpless. > > What happened? > > I am using Postgresql 9.6, and the latest phppgadmin. OS is Debian 9.6. > > 1. Created a database. > 2. Created tables inside that database. > 3. Dropped that database. > > > Now, what happens is when I create another database with the same name or different name, all those tables are alreadyinside that database!!! I have not run the table create script. > This is a cruel joke. > > What is happening? Have you tried using psql to connect directly to PostgreSQL to verify what phppgadmin is telling you? Regards Ian Barwick -- Ian Barwick https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
<s400t@yahoo.co.jp> writes:
> I am using Postgresql 9.6, and the latest phppgadmin. OS is Debian 9.6.
> 1. Created a database.
> 2. Created tables inside that database.
> 3. Dropped that database.
> Now, what happens is when I create another database with the same name or different name, all those tables are
alreadyinside that database!!! I have not run the table create script.
I think you created some tables in the "template1" database, which is
(by default) what CREATE DATABASE clones to make a new DB. Duplicating
its contents is considered a feature not a bug.
You could manually clean out template1, or if that seems painful,
you could drop it and recreate it by cloning template0 (see
CREATE DATABASE's TEMPLATE option). template0 exists precisely
to be a virgin empty database for this sort of purpose.
(There is an interlock to prevent you from dropping either
of these template databases accidentally. Overriding that is
left as an exercise for the student.)
regards, tom lane
JD, IB, TL: Yes!!! I found the whole bunch of tables in template 1! It's so liberating. Thank you. ----- Original Message ----- > From: Tom Lane <tgl@sss.pgh.pa.us> > To: s400t@yahoo.co.jp > Cc: "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org> > Date: 2019/2/28, Thu 17:24 > Subject: Re: Mind of its own? > >& lt;s400t@yahoo.co.jp> writes: >> I am using Postgresql 9.6, and the latest phppgadmin. OS is Debian 9.6. > >> 1. Created a database. >> 2. Created tables inside that database. >> 3. Dropped that database. > >> Now, what happens is when I create another database with the same name or > different name, all those tables are already inside that database!!! I have not > run the table create script. > > I think you created some tables in the "template1" database, which is > (by default) what CREATE DATABASE clones to make a new DB. Duplicating > its contents is considered a feature not a bug. > > You could manually clean out template1, or if that seems painful, > you could drop it and recreate it by cloning template0 (see > CREATE DATABASE's TEMPLATE option). template0 exists precisely > to be a virgin empty database for this sort of purpose. > > (There is an interlock to prevent you from dropping either > of these template databases accidentally. Overriding that is > left as an exercise for the student.) > > regards, tom lane >