O erro em sua totalidade diz:
psql: não foi possível conectar ao servidor: Arquivo ou diretório inexistente. O servidor está executando localmente e aceitando conexões no soquete de domínio Unix "/tmp/.s.PGSQL.5432"?
Esta é a segunda vez que configuro o Postgresql via Homebrew no meu Mac e não tenho ideia do que está acontecendo. Anteriormente, estava funcionando. Em algum momento, devo ter digitado um comando que bagunçou as coisas. Não tenho certeza. Agora, sempre que insiro um comando SQL na linha de comando, recebo a mensagem acima. Eu executei um comando para verificar se o servidor está rodando, e aparentemente não está. Se eu tentar iniciar o servidor usando
$ postgres -D /usr/local/pgsql/data
Eu recebo o seguinte erro:
postgres não pode acessar o arquivo de configuração do servidor "/usr/local/pgsql/data/postgresql.conf": Arquivo ou diretório inexistente
Já desinstalei e reinstalei o Postgresql via Homebrew, mas o problema persiste. Estou completamente sem saber como fazer isso funcionar. Qualquer ajuda seria apreciada.
O problema também pode ser atribuído a um processo travado que deixou
postmaster.pid
o arquivo para trás.eu estava recebendo o mesmo
loop do Homebrew instalar / iniciar / parar / reiniciar sem sucesso ...
Finalmente,
brew postgresql-upgrade-database
funcionou.Parece que eu estava em 9.6 em vez de 10.4, e algo que minha última reinicialização da App Store reiniciou todos os meus servidores de banco de dados ...
A resposta está aqui .
Execute este comando para iniciar manualmente o servidor:
Acabei de resolver o mesmo problema. É só porque eu esqueci de executá-lo corretamente antes de usar.
Para instalação pura
postgresql
no Mac OS, o processo será (usando o comando brew ):então, se você quiser executar automaticamente
postgresql
no login:ou então você só quer executá-lo quando quiser:
Se o seu caso for mais complicado, vamos
brew uninstall postgresql
refazer esses passos.Espero que ajude!
Continuei recebendo o erro acima e nenhuma das soluções acima funcionou para mim. Finalmente, a seguinte solução resolveu meu problema no Mac OS X
Instale o postgres usando brew
Instalar serviços de fermentação
Para iniciar o postgres como um serviço em segundo plano
Para parar o postgres manualmente
Também podemos usar serviços de fermentação para reiniciar o Postgres
Isso acontece quando o servidor postgres não está em execução. Etapas para instalar corretamente o Postgres via Homebrew no MAC:
brew install postgres
initdb /Users/<username>/db -E utf8
[Isso inicializa o postgres para usar o diretório fornecido como o diretório do banco de dados. Normalmente não é recomendado usar o diretório do usuário para armazenamento do banco de dados. Edite o arquivo sudoers para adicionar initdb e comandos semelhantes e execute initdb em /usr/local/var/postgres]pg_ctl -D /Users/<username>/db -l logfile start
[Depois de obter sucesso com a etapa 2, ele solicitará a execução da etapa 3. Este comando inicia manualmente o servidor.]Eu estava procurando há muito tempo, e esta foi a solução mais limpa e organizada:
Recentemente, atualizei o Postgres de 9.2 para 9.3 usando o brew upgrade postgres. O processo foi tranquilo e o pg_upgrade é uma ferramenta muito útil.
No entanto, ocorreu um problema quando tentei executar as especificações necessárias para conectar-se ao Postgres. Mesmo que o Postgres estivesse definitivamente rodando, de repente eu estava recebendo:
não foi possível conectar ao servidor: Arquivo ou diretório inexistente (PG::ConnectionBad) O servidor está executando localmente e aceitando conexões no soquete de domínio Unix "/var/pgsql_socket/.s.PGSQL.5432"? O problema era que a nova versão do Postgres escuta em /tmp/.s.PGSQL.5432. Eu poderia ter mexido com a configuração e feito o Postgres usar o socket de domínio que era anteriormente, ou dito ao Rails explicitamente como se conectar, mas ambas as abordagens pareciam um trabalho que eu não deveria ter que fazer. Em nenhum momento eu disse ao Rails para se conectar ao postgres nesse caminho, Rails assumiu, e agora suas suposições estavam erradas.
A correção é simples, embora um pouco surpreendente. Quando você instala a gem 'pg', ela detecta qual versão do Postgres está instalada e define o caminho do soquete do domínio apropriadamente. A solução é tão simples quanto reinstalar a gem.
$ gem uninstall pg $ cd my-rails-app/ $ bundle install
http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/
Funcionou para mim. Altere seu diretório postgresql de acordo com a versão em seu sistema.
Caminho comum-
rm /usr/local/var/postgres/postmaster.pid
mas para [email protected] no meu caminho do sistema é
rm /usr/local/var/[email protected]/postmaster.pid
reinicie [email protected]
brew services restart [email protected]
Eu apenas descomentei em /etc/postgresql/9.5/main/postgresql.conf
e reinicie o postgres. E para mim funciona.
recentemente passei por um problema semelhante. há apenas outro problema e solução. Eu estava executando 2 versões do postgres (9.3 e 9.6), embora o servidor estivesse configurado para executar em 2 portas diferentes, mas de alguma forma o comando psql no bash tenta se conectar à porta padrão 5432. Certifique-se de verificar se o seu servidor está executando e verifique suas configurações de porta e, em seguida, execute
psql -p <port> postgres
. A solução é mudar de porta.