Ads 468x60px

domingo, 6 de marzo de 2011

No arranca el servidor de PostgreSQL

Con este artículo comienza una serie en la que iré comentando los errores que vayan surgiendo en la utilización de PostgreSQL y su solución, si es que la hubiera.

Pues el primer error que me he encontrado ha sido como bien dice el título de este artículo, que no me arrancaba el servidor de PostgreSQL, así de repente, si previo aviso. Después de darle muchas vueltas, buscando por la red y a punto de desinstalar y reinstalar PostgreSQL otra vez. Por fin encontré la solución inspeccionando el visor de sucesos de Windows me aparece el siguiente error:
"bogus data in lock file postmaster.pid"

Pues bien parece ser que el tal archivo "postmaster.pid", un simple archivo de texto, que se encuentra en la carpeta Data del directorio de instalación de PostgreSQL, se crea cuando arrancamos el servidor y se borra cuando lo detenemos y sirve principalmente para evitar que se ejecuten varias instancias del Servidor en el mismo directorio de datos. Pues parece ser que dicho archivo estaba corrupto, como consecuencia seguramente de algún reinicio anormal de Windows. La solución era bien sencilla: borrar el archivo. Una vez echo esto pude reiniciar el servidor otra vez sin ningún problema.

martes, 1 de marzo de 2011

Entendiendo PostgreSQL - ¿Que es un cluster?

Pues como dice la ayuda, un cluster es una colección de bases de datos que están administradas por una sola instancia del servidor.
Crear un clúster de base de datos consiste en crear los directorios donde se almacenarán las bases de datos, la generación de las tablas compartidas del catálogo (tablas que pertenecen al grupo en su totalidad y no a una determinada base de datos), y crear las bases de datos template1 y postgres. Cuando creemos una nueva base de datos, se copia automáticamente template1. (Por lo tanto, cualquier cosa instalada en template1 se copia automáticamente en cada base de datos creada más adelante.) La base de datos PostgreSQL es una base de datos predeterminada para ser usada por los usuarios, servicios y aplicaciones de terceros.
Para más información Initdb.