Confidare Weblog

Archive for November, 2004

Recreando template1 en PostgreSQL

por jcataldo el Nov.24, 2004, bajo PostgreSQL

¿Así que por cosas del destino template1 se llenó de basura? No hay que desesperar, gracias a que siempre template0 estará allí para ayudarnos.

¿Y cómo hacerlo? Simplemente eliminando template1 y recreándola a partir de los contenidos de template0.

1. Se debe quitar la marca de template a la BD template1 para que PostgreSQL nos permita eliminarla:

        xxx=# UPDATE pg_database SET datistemplate = FALSE
            WHERE datname = 'template1';
        UPDATE 1
        xxx=# DROP DATABASE template1;
        DROP DATABASE

2. Luego hay que crear nuevamente template1, usando como plantilla a template0:

        xxx=# CREATE DATABASE template1 WITH TEMPLATE = template0;
        CREATE DATABASE
        xxx=# UPDATE pg_database SET datistemplate = TRUE
            WHERE datname = 'template1';
        UPDATE 1

Todo lo anterior se debe hacer estando conectados a otra base de datos (en el ejemplo se llama xxx). Y cuidado, que en este proceso se perderá cualquier personalización que hayamos realizado sobre template1.

Espero que sea ésta la última vez que deba usar esta palta… :-(

(Agradecimientos especiales para Alberto Cabello por haberme enviado una corrección para esta entrada)

Escribe un comentario más...