Thread: PostgreSQL 8.1.4 - INITDB - database postgres ?

PostgreSQL 8.1.4 - INITDB - database postgres ?

From
"MG"
Date:
Hello,
 
we are trying to install PostgreSQL 8.1.4.
 
We noticed that when you run initdb, there will be a databes postgres.
 
We found this in the documentation:
Creating a database cluster consists of creating the directories in which the database data will live, generating the shared catalog tables (tables that belong to the whole cluster rather than to any particular database), and creating the template1 and postgres databases.
 
What`s the sense of this database postgres?
Can we drop it?
 
Regards
Michaela

Re: PostgreSQL 8.1.4 - INITDB - database postgres ?

From
Michael Fuhr
Date:
On Tue, Aug 22, 2006 at 03:00:45PM +0200, MG wrote:
> What`s the sense of this database postgres?

Here's an excerpt from the 8.1 Release Notes:

* Make initdb create a new standard database called postgres, and
  convert utilities to use postgres rather than template1 for
  standard lookups (Dave)

  In prior releases, template1 was used both as a default connection
  for utilities like createuser, and as a template for new databases.
  This caused CREATE DATABASE to sometimes fail, because a new
  database cannot be created if anyone else is in the template
  database. With this change, the default connection database is
  now postgres, meaning it is much less likely someone will be using
  template1 during CREATE DATABASE.

> Can we drop it?

Some utilities expect to find the "postgres" database and they'll
fail if they can't connect to it.  I'd recommend leaving it in
place.

--
Michael Fuhr

Re: PostgreSQL 8.1.4 - INITDB - database postgres ?

From
"mcelroy, tim"
Date:

I agree with Michael, I would leave the postgres DB in place.  I currently run 8.0.1 which does not create the postgres DB automatically and make a point to create it to use as my "maintenance" DB for such things as pgAdmin connections etc.  I was unaware that newer releases auto-create this DB, good move!  I only wish I could upgrade to at least 8.1 to take advantage of all the new features and fixes.

Tim

 -----Original Message-----
From:   pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org]  On Behalf Of Michael Fuhr
Sent:   Tuesday, August 22, 2006 9:48 AM
To:     MG
Cc:     pgsql-admin@postgresql.org
Subject:        Re: [ADMIN] PostgreSQL 8.1.4 - INITDB - database postgres ?

On Tue, Aug 22, 2006 at 03:00:45PM +0200, MG wrote:
> What`s the sense of this database postgres?

Here's an excerpt from the 8.1 Release Notes:

* Make initdb create a new standard database called postgres, and
  convert utilities to use postgres rather than template1 for
  standard lookups (Dave)

  In prior releases, template1 was used both as a default connection
  for utilities like createuser, and as a template for new databases.
  This caused CREATE DATABASE to sometimes fail, because a new
  database cannot be created if anyone else is in the template
  database. With this change, the default connection database is
  now postgres, meaning it is much less likely someone will be using
  template1 during CREATE DATABASE.

> Can we drop it?

Some utilities expect to find the "postgres" database and they'll
fail if they can't connect to it.  I'd recommend leaving it in
place.

--
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match