Estoy intentando instalar una instancia de PostgreSQL después de compilarla desde el código fuente, pero ejecutar el postmaster
demonio antes de iniciar el clúster de la base de datos no parece funcionar. Aquí está el mensaje de error que recibí cuando lo inicié:
postgres@Home:~$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds
and retry.
WARNING: could not create listen socket for "localhost"
FATAL: could not create any TCP/IP sockets
Después de buscar en Google, el único resultado que pude encontrar y que me dio algunas pistas me dijo que ejecutara los siguientes comandos, cuyo resultado es el siguiente:
postgres@Home:~$ lsof -i :5432
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
postgres 1169 postgres 3u IPv4 1998 0t0 TCP localhost:postgresql (LISTEN)
postgres@Home:~$ netstat -an|grep :5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
Lo que me lleva a creer que la conexión al puerto al que el postmaster
demonio está intentando conectarse está, de hecho, disponible. ¿Alguna idea sobre qué podría estar causándolo?
Y si tienes curiosidad, estoy ejecutando pgsql 9.2.3. (Además, mueva esto a Stack Overflow o Programadores si este es el sitio incorrecto de Stack Exchange para preguntar esto).
Respuesta1
El mensaje de error en postmaster
el inicio fallido y el netstat
resultado muestran que ya existe un proceso que utiliza el 5432
puerto TCP. Probablemente PostgreSQL ya esté instalado como parte de su sistema. Mira si tienes elpostgresql-9.1paquete instalado y la salida de pg_lsclusters
.
Si desea ejecutar su propio PostgreSQL autocompilado junto con el preempaquetado para Ubuntu, sería necesario cambiar la port
entrada de configuración en su archivo /usr/local/pgsql/data/postgresql.conf
.
Si, por otro lado, desea que solo su PostgreSQL autocompilado se ejecute y use el puerto predeterminado 5432
, puede eliminar el paquete de Ubuntu o deshabilitar el clúster en el arranque editando/etc/postgresql/9.1/main/start.conf