Após reiniciar o meu MacBook Pro, não consigo iniciar o servidor de banco de dados:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Eu verifiquei os logs e a seguinte linha aparece repetidamente:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
9.0.4 foi a versão que veio pré-instalada no mac, 9.2 [.4] é a versão que instalei via Homebrew. Como mencionado, isso costumava funcionar antes da reinicialização, portanto não pode ser um problema de compilação. Também executei novamente initdb /usr/local/var/postgres -E utf8
e o arquivo ainda existe.
Infelizmente, sou muito novo no Postgres, portanto qualquer ajuda seria muito apreciada.
macos
postgresql
homebrew
klaffenboeck
fonte
fonte
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- e a resposta éserver starting
pg_ctl
, tenho certeza de que encontrará duas cópias. E a que corresponderwhich pg_ctl
será a versão antiga e a outra será a nova versão.pg_ctl --version
dápg_ctl (PostgreSQL) 9.2.4
Server.app
e o ocultaram para usar uma porta não padrão e um diretório de soquete unix. Finalmente!Respostas:
Se você atualizou recentemente para 11 ou 12 da 10.x, é possível executar o comando abaixo para atualizar o diretório de dados do postgres, mantendo todos os dados:
O comando acima é obtido da saída de
brew info postgres
fonte
brew postgresql-upgrade-database
postgres reiniciebrew info
.Se você estiver procurando pela opção nuclear (exclua todos os dados e obtenha um novo banco de dados), poderá:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
e então você precisa
rake db:setup
erake db:migrate
de sua aplicação Rails para começar a instalação novamente.fonte
createuser -s your_rails_app
para criar o usuário do postgres dos rails. Veja stackoverflow.com/questions/11919391/…Tente isso: https://gist.github.com/joho/3735740
Funcionou perfeitamente para mim. No final, ele também gera 2 scripts bash para verificar seu banco de dados e remover o cluster antigo. Realmente fantástico.
consulte: http://www.postgresql.org/docs/9.2/static/pgupgrade.html para entender mais.
fonte
Encontrada na internet, esta solução funciona bem para mim.
Quando tentei iniciar o servidor postgresql após a atualização para o OS X 10.10 Yosemite, encontrei um próximo problema:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Ok, vamos dar uma olhada nos logs do servidor:
cat /usr/local/var/postgres/server.log
Portanto, precisamos seguir algumas etapas após a atualização do postgresql:
É isso aí.
fonte
Se você deseja manter a versão anterior do postgres, use
brew switch
:Caso contrário, considere este comando bebida para migrar dados existentes:
brew postgresql-upgrade-database
. Confira o código fonte .fonte
Isso aconteceu comigo quando eu estava tentando iniciar o Postgres12 com o volume montado do postgres11. Apenas excluir o volume montado para o postgres11 e reiniciar funcionou para mim.
Anteriormente eu estava usando:
Excluí / Users / champ / postgres e reiniciei o postgres 12, usando
fonte