Re: Fixing the loss of 'template1'

From: Marti Raudsepp <marti(at)juffo(dot)org>
To: martin(at)gregorie(dot)org
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Fixing the loss of 'template1'
Date: 2012-03-07 14:43:53
Message-ID: CABRT9RA1Ag+d=Tb-865gzNMmAdgMT1UAifGvy_SB_sE9AeX29A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Mar 7, 2012 at 16:23, Martin Gregorie <martin(at)gregorie(dot)org> wrote:
> Is it possible to reinstate 'template1' and all its works without
> reinitialising the database from scratch. It was suggested to me that
> running "initdb" might fix it while leaving my data in place though my
> source was uncertain about its success. Would this work or is there a
> better way to restore 'template1' in a populated database system?

You can always re-create template1 from template0:

CREATE DATABASE template1 WITH TEMPLATE template0;

> In the course of migrating from (I think) Postgres 8.4 under Fedora 12
> to Postgres 9.1 under Fedora 16 I managed to loose 'template1' and
> associated data.

As far as I can tell, the only way to remove the template1 database is
to rename it. Maybe that's what happened. This query should tell you
the name of the database that used to be template1:

SELECT datname FROM pg_database WHERE datistemplate;

Regards,
Marti

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gary Chambers 2012-03-07 14:53:56 Re: Fixing the loss of 'template1'
Previous Message Gary Chambers 2012-03-07 14:38:20 Re: Fixing the loss of 'template1'