Estou tentando instalar uma instância do PostgreSQL depois de construí-la a partir do código-fonte, mas executar o postmaster
daemon antes de iniciar o cluster de banco de dados não parece funcionar. Aqui está a mensagem de erro que recebi quando o iniciei:
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
Depois de pesquisar no Google, o único resultado que encontrei que me deu algumas dicas me disse para executar os seguintes comandos, cujo resultado é o seguinte:
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
O que me leva a acreditar que a conexão à qual a porta que o postmaster
daemon está tentando conectar está, de fato, disponível. Alguma idéia sobre o que pode estar causando isso?
E se você estiver curioso, estou executando o pgsql 9.2.3. (Além disso, mova isso para Stack Overflow ou Programmers se este for o site errado do Stack Exchange para fazer isso.)
Responder1
A mensagem de erro na postmaster
inicialização com falha e a netstat
saída mostram que já existe um processo que usa a 5432
porta TCP. Provavelmente é o PostgreSQL já instalado como parte do seu sistema. Veja se você tem opostgresql-9.1pacote instalado e a saída de pg_lsclusters
.
Se você quiser executar seu próprio PostgreSQL autocompilado lado a lado com aquele pré-empacotado para Ubuntu, será necessário alterar a port
entrada de configuração em seu arquivo /usr/local/pgsql/data/postgresql.conf
.
Se por outro lado você quiser apenas o PostgreSQL auto-compilado rodando e usando a porta padrão 5432
, você pode remover o pacote Ubuntu ou desabilitar o cluster na inicialização editando/etc/postgresql/9.1/main/start.conf