/etc/services
é apenas consultivo, é uma lista de portas conhecidas. Isso não significa que algo está realmente sendo executado nessa porta ou que o serviço nomeado será executado nessa porta. No caso do PostgreSQL é comum usar a porta 5432 se estiver disponível. Se não for, a maioria dos instaladores escolherá a próxima porta gratuita, geralmente 5433.
Você pode ver o que está realmente em execução usando o
netstat
ferramenta (disponível no OS X, Windows e Linux, com sintaxe de linha de comando variando entre os três). Isso é ainda mais complicado em sistemas Mac OS X pela bagunça horrível de diferentes pacotes PostgreSQL - a versão antiga do PostgreSQL da Apple incorporada ao sistema operacional, Postgres.app, Homebrew, Macports, o instalador EnterpriseDB, etc etc.
O que acaba acontecendo é que o usuário instala o Pg e inicia um servidor a partir de um pacote, mas usa o
psql
e libpq
cliente de uma embalagem diferente. Normalmente isso ocorre quando eles estão executando Postgres.app ou homebrew Pg e conectando com o psql
que acompanha o SO. Não só eles às vezes têm portas padrão diferentes, mas o Pg que acompanha o Mac OS X tem um caminho de soquete unix padrão diferente , portanto, mesmo que o servidor esteja sendo executado na mesma porta, ele não estará ouvindo o mesmo soquete unix. A maioria dos usuários de Mac resolve isso usando apenas tcp/ip com
psql -h localhost
. Você também pode especificar uma porta, se necessário, por exemplo, psql -h localhost -p 5433
. Você pode ter várias instâncias do PostgreSQL em execução, portanto, certifique-se de estar se conectando à correta usando select version()
e SHOW data_directory;
. Você também pode especificar um diretório de soquete unix; verifique os
unix_socket_directories
configuração da instância do PostgreSQL à qual você deseja se conectar e especifique isso com psql -h
, por exemplo, psql -h /tmp
. Uma solução mais limpa é corrigir seu sistema
PATH
para que o psql
e libpq
associado ao PostgreSQL que você está executando é o que é encontrado primeiro no PATH
. Os detalhes disso dependem da sua versão do Mac OS X e de quais pacotes Pg você instalou. Eu não uso Mac e não posso oferecer muito mais detalhes desse lado sem gastar mais tempo do que o disponível atualmente.