Erro ao tentar iniciar o Postgres instalado via Homebrew: Operação não permitida

23

Eu instalei recentemente o Postgres no meu Mac via Homebrew. (Eu já posso ter instalado ele não estava funcionando)

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Agora estou tentando iniciá-lo com launchctl :

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

... mas estou recebendo um erro:

/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation not permitted

O que esse erro significa? O que estou fazendo de errado? Como posso resolver o problema?

    
por Andrew 18.02.2015 / 20:54

3 respostas

82

Pode ser que você esteja usando launchctl dentro do Tmux ou da Tela.

Tmux e Screen multiplexadores de terminal que geram várias "telas" que você pode alternar facilmente em um único terminal.

Por alguma razão desconhecida para mim, executar launchctl dentro do Tmux nunca funciona, e emite o erro Operation not permitted . Execute-o dentro de um shell normal e provavelmente funcionará bem.

    
por 07.04.2015 / 05:13
2

Aqui estão os passos que você pode precisar:

Remover uma instalação anterior do Postgres:

brew remove postgres
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Instale a nova versão:

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Os dados de sua instalação anterior precisarão de upgrade para serem compatíveis com o Postgres 9.4+: link

Parece que você precisa de duas instalações do Postgres para atualizar seu banco de dados, e não me importei em me preocupar com isso, então recriou o banco de dados com a nova versão:

mv /usr/local/var/postgres /usr/local/var/old-postgres
initdb -D /usr/local/var/postgres

Agora inicie o Postgres (fora de tmux se você estiver usando isso):

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Verifique se há algum problema nos registros:

tail /usr/local/var/postgres/server.log
    
por 07.04.2015 / 21:27
0

A execução de brew doctor resolve o problema ou, por outro lado, transforma qualquer coisa?

(Ainda não consigo postar comentários, mas isso pode ajudar a corrigir o problema)

Editar - eu executaria:

brew doctor
brew update
brew doctor
brew cleanup
    
por 28.02.2015 / 11:47