Thread: BUG #6252: After drop the default database 'postgres', I can not create a database by 'createdb.exe'

BUG #6252: After drop the default database 'postgres', I can not create a database by 'createdb.exe'

From
"Can not create DB by 'createdb.exe' when DB 'postgres' is droped"
Date:
The following bug has been logged online:

Bug reference:      6252
Logged by:          Can not create DB by 'createdb.exe' when DB 'postgres'
is droped
Email address:      yanghui328@gmail.com
PostgreSQL version: 9.0.5
Operating system:   Windows XP SP2
Description:        After drop the default database 'postgres', I can not
create a database by 'createdb.exe'
Details:

1.drop database 'postgres'
2.create a database by createdb.exe
the follow error message will dispaly:
Can not create DB by 'createdb.exe' when database 'postgres' is droped

PS:file: '\postgresql-9.0.5\src\bin\scripts\createdb.c'
   Line: 195
   Source: conn = connectDatabase(strcmp(dbname, "postgres") == 0 ?
"template1" : "postgres", host, port, username, prompt_password, progname);

*Sorry for my poor English
<yanghui328@gmail.com> wrote:

> 1.drop database 'postgres'
> 2.create a database by createdb.exe
> the follow error message will dispaly:
> Can not create DB by 'createdb.exe' when database 'postgres' is
> droped

To create a database, the createdb executable has to connect to the
cluster.  A connection is always to some specific database.  The
postgres database was added specifically so that such utilities
could make a connection somewhere so they could do their work.  If
you drop it, you break those applications.

This is not a bug.  The workaround is to not drop the database which
is automatically created on installation.

-Kevin
On 10/12/11 9:28 AM, Kevin Grittner wrote:
> This is not a bug.  The workaround is to not drop the database which
> is automatically created on installation.

or to explicitly connect to another database to do the create

--
john r pierce                            N 37, W 122
santa cruz ca                         mid-left coast
On 10/12/2011 02:48 PM, Can not create DB by 'createdb.exe' when DB
'postgres' is droped wrote:
>
> The following bug has been logged online:
>
> Bug reference:      6252
> Logged by:          Can not create DB by 'createdb.exe' when DB 'postgres'
> is droped
> Email address:      yanghui328@gmail.com
> PostgreSQL version: 9.0.5
> Operating system:   Windows XP SP2
> Description:        After drop the default database 'postgres', I can not
> create a database by 'createdb.exe'
> Details:
>
> 1.drop database 'postgres'
> 2.create a database by createdb.exe
> the follow error message will dispaly:
> Can not create DB by 'createdb.exe' when database 'postgres' is droped

Yep. You need to use a `CREATE DATABASE' command from psql to re-create
the `postgres' database after connecting to the "template1" database, eg:

template1=> CREATE DATABASE postgres WITH OWNER postgres;

--
Craig Ringer