2010-03-03 13 views

Respuesta

28

Parece que realmente no tiene un propósito bien definido. De acuerdo con los documentos:

Creación de un clúster de base de datos consiste en crear los directorios en los que vivirán los datos de bases de datos, la generación de las tablas de catálogo compartidas (tablas que pertenecen a todo el conjunto y no a una determinada base de datos), y creando las bases de datos "template1" y "postgres".

[...]

La base de datos PostgreSQL es una base de datos predeterminada como finalidad ser utilizadas por los usuarios, servicios y aplicaciones de terceros.

(Fuente: http://www.postgresql.org/docs/8.2/interactive/app-initdb.html)

25

También existe la template0 base de datos, su red de seguridad cuando la cagas todos los demás.

  1. postgres es su base de datos predeterminada a conectar con.
  2. template1 es su defecto para crear nuevas bases de datos, estos son creado al igual que template1
  3. template0 es ventajosa cuando template1 está dañado (ajustes erróneos etc.) y que no quieren gastar mucho tiempo para arreglar esto Simplemente suelte plantilla1 y cree una nueva plantilla1 usando la plantilla de la base de datos0.
+5

¿Es seguro eliminar el 'postg res' base de datos si no lo estás usando? – CMCDragonkai

67

Cuando una aplicación cliente se conecta a un servidor Postgres, debe especificar a qué base de datos se quiere conectar. Si no conoce el nombre de una base de datos (dentro de la agrupación atendida por el administrador de correo a la que se conecta), se puede encontrar una lista de nombres de bases de datos con el comando:

psql -l 

Cuando se ejecuta este comando, psql se conecta al servidor y consulta pg_database para obtener una lista de nombres de bases de datos. Sin embargo, dado que psql es una aplicación cliente de Postgres, no puede conectarse al servidor sin conocer el nombre de al menos una base de datos: Catch-22. Entonces, psql está codificado para conectarse a una base de datos llamada "postgres" cuando ejecuta "psql -l".

-- Korry 
0

Si está utilizando múltiples conexiones de base de datos al crear nuevas bases de datos, a continuación, todas las conexiones no se puede hacer a template1 o template0.

Postgresql arrojará un error si se accede al DB de origen al crear una nueva base de datos por otras conexiones.

Por lo tanto, para crear nuevas bases de datos es mejor conectar postgres.

enter image description here

0

El comentario anterior se le preguntó: "¿Es seguro eliminar la base de datos postgres si no lo está utilizando?"- CMCDragonkai Oct 22 de '16 a las 10:37

De la documentación de PostgreSQL 9.3.3:

Después de la inicialización, un cluster de base de datos contendrá una base de datos llamada postgres, que se entiende como una base de datos predeterminada para el uso de utilidades, usuarios y aplicaciones de terceros. El servidor de la base de datos no requiere que la base de datos postgres exista, pero muchos programas de utilidad externos suponen que existe.

[Nota: un clúster de base de datos es una colección de bases de datos administrada por un única instancia de un servidor de base de datos en ejecución.]

Cuestiones relacionadas