Tratamiento de problemas

Fallos de inicio de Postmaster

Hay varias posibles razones para que postmaster no pueda inicializarse. Compruebe el fichero de registro de postmaster, o in�cielo manualmente (sin redirigir la salida est�ndar o la de errores) para ver los mensajes que aparecen. Alguno de los posibles mensajes de error son autoexplicativos, pero los hay que pueden no serlos tanto:

FATAL: StreamServerPort: bind() failed: Address already in use
        Is another postmaster already running on that port?
    
Esto normalmente significa lo que sugiere: accidentalmente ha iniciado una segunda instancia de postmaster en el mismo puerto en el que ya se est� ejecutando uno. Sin embargo, si el mensaje de error del n�cleo no es "Address already in use" o alguna variante, puede estar ocurriendo otro problema. Por ejemplo, el tratar de iniciar una sesi�n de postmaster en un puerto de error reservado puede producir algo como:
$ postmaster -i -p 666
FATAL: StreamServerPort: bind() failed: Permission denied
        Is another postmaster already running on that port?
    

IpcMemoryCreate: shmget failed (Invalid argument) key=5440001, size=83918612, permission=600
FATAL 1:  ShmemCreate: cannot create region
    
Un mensaje como �ste posiblemente indica que el limite impuesto al tama�o de las zonas de memoria compartidas es menor que �rea de �buffer� que Postgres est� intentando crear. (O puede significar que no dispone de soporte para la memoria compartida de tipo SysV configurado en su n�cleo.) Como arreglo temporal puede tratar de iniciar postmaster con un n�mero de �buffers� menor de lo normal (par�metro -B). Sin embargo, deber�a reconfigurar su n�cleo para incrementar el tama�o permitido para la memoria compartida. Este mensaje puede aparecer cuando trate de iniciar varias sesiones de postmaster en la misma m�quina, si el total de espacio necesario excede el l�mite impuesto por el n�cleo.

IpcSemaphoreCreate: semget failed (No space left on device) key=5440026, num=16, permission=600
    
Un mensaje como �ste no significa que se haya quedado sin espacio en el disco; significa que la cantidad m�xima de sem�foros permitidos por el n�cleo para el SysV es menor que la cantidad que Postgres intenta crear. Como antes, puede evitar este problema iniciando el postmaster con un numero de procesos �backend� menor (par�metro -N), pero ser�a mejor que incrementara el l�mite impuesto por el n�cleo.