Re: Drop/Re-Creating database extremely slow + doesn't lose data - Mailing list pgsql-general

From David G. Johnston
Subject Re: Drop/Re-Creating database extremely slow + doesn't lose data
Date
Msg-id CAKFQuwbq7sqWKNpf3y4RvFcnTxmuL172P2zg_uGy1VpERv_+Ww@mail.gmail.com
Whole thread Raw
In response to Drop/Re-Creating database extremely slow + doesn't lose data  (Thalis Kalfigkopoulos <tkalfigo@gmail.com>)
Responses Re: Drop/Re-Creating database extremely slow + doesn't lose data
List pgsql-general
On Tue, May 31, 2016 at 9:49 AM, Thalis Kalfigkopoulos <tkalfigo@gmail.com> wrote:
Intention: to drop a database and recreate it.
Expectation: the newly created db should be empty
What happens: dropping is fast, creation is slow, and when I reconnect, all the data objects are still there.
 ​[...]​

Even weirder, created a new DB with a completely unrelated name. Again "create database" took long time, but then connected to it and it has all the data from the "dafodb".

Also tried: renaming dafodb to dafodb_OLD and again "create database dafodb". Both contain the same data.

All this on Pg 9.5.2 on 64bit Ubuntu with 3.13.0-74-generic.

Any idea what's going on or how to recover?

​Working as designed.  Database creation in PostgreSQL operates by copying a template database and then making minor modifications as specified in the options to CREATE DATABASE.


Note that the default template is "template1"

​Typically template0 is basically empty so the behavior you are expecting to see can be had by explicitly specifying template0 in the command.

Oddly, the notes on the aforementioned page state: "The principal limitation is that no other sessions can be connected to the template database while it is being copied." yet in your example you appear to be connected to template1 when you execute the CREATE DATABASE command...

​David J.​

pgsql-general by date:

Previous
From: Francisco Olarte
Date:
Subject: Re: Drop/Re-Creating database extremely slow + doesn't lose data
Next
From: Thalis Kalfigkopoulos
Date:
Subject: Re: Drop/Re-Creating database extremely slow + doesn't lose data