PostgreSQL postmaster не запускается

PostgreSQL postmaster не запускается

Я пытаюсь установить экземпляр PostgreSQL после его сборки из исходников, но запуск postmasterдемона до запуска кластера базы данных, похоже, не работает. Вот сообщение об ошибке, которое я получил при запуске:

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

После поисков в Google единственный результат, который мне удалось найти и который дал мне некоторые подсказки, — это выполнение следующих команд, вывод которых приведен ниже:

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   

Что приводит меня к мысли, что соединение, к которому postmasterпытается прицепиться демон, на самом деле доступно. Есть идеи, что может быть причиной?

И если вам интересно, я использую pgsql 9.2.3. (Кроме того, пожалуйста, переместите это на Stack Overflow или Programmers, если это не тот сайт Stack Exchange, где следует задавать этот вопрос.)

решение1

Сообщение об ошибке при postmasterнеудачном запуске и netstatвывод показывают, что уже есть процесс, который использует 5432порт TCP. Вероятно, это PostgreSQL, уже установленный как часть вашей системы. Посмотрите, есть ли у васpostgresql-9.1пакет установлен, и вывод pg_lsclusters.

Если вы хотите запустить собственную, самостоятельно скомпилированную версию PostgreSQL параллельно с предустановленной для Ubuntu, вам необходимо будет изменить portзапись конфигурации в вашем файле /usr/local/pgsql/data/postgresql.conf.

Если же вы хотите, чтобы работал только ваш самостоятельно скомпилированный PostgreSQL и использовал порт по умолчанию 5432, вы можете либо удалить пакет Ubuntu, либо отключить кластер при загрузке, отредактировав/etc/postgresql/9.1/main/start.conf

Связанный контент