Instale o PostgreSQL via Homebrew
Provavelmente a maioria dos usuários do OS X conhece o
Homebrew
, mas o Homebrew é um gerenciador de pacotes para OS X que permite instalar e executar facilmente uma enorme biblioteca de aplicativos e utilitários com facilidade. Não passaremos por todo o processo de instalação (embora curto) do Homebrew, mas se você deseja instalar o Homebrew e usá-lo para gerenciamento do PostgreSQL, confira o comando de instalação na documentação oficial. Se você não tiver certeza se o Homebrew está instalado, tente
which brew
comando do terminal para verificar. Depois que o Homebrew estiver instalado, você poderá instalar o PostgreSQL emitindo os seguintes comandos em seu terminal:
$ brew update
$ brew doctor
$ brew install postgres
Os dois primeiros comandos são usados para atualizar o Homebrew e relatar possíveis problemas (se necessário). Então, é claro,
brew install postgres
é o comando de uma linha para instalar o PostgreSQL. Você deve ver muitas informações úteis na saída durante a instalação, muitas das quais devem ser copiadas para uso nas próximas seções.
Usando um LaunchAgent e plist para iniciar o PostgreSQL na inicialização
Na maioria dos casos, você provavelmente desejará que o PostgreSQL seja iniciado ao iniciar seu sistema, portanto, você precisará informar ao seu computador que esse é o seu desejo.
Primeiro, você precisará criar um diretório para seus
LaunchAgents
para residir (se o diretório ainda não existir). LaunchAgents
no OS X são scripts simples usados pelo launchd
que fazem com que o sistema execute programas ou código durante a inicialização. Crie seu
user
-specific LaunchAgents
diretório com este comando, se necessário:$ mkdir -p ~/Library/LaunchAgents
Agora você precisará criar um link simbólico a partir do script que realmente permita que o Postgres seja executado no
LaunchAgents
diretório. Um link simbólico é semelhante a criar uma nova cópia de um arquivo para uso em outro diretório, mas como o link é 'simbólico', o link é apenas um endereço de encaminhamento:qualquer solicitação feita para esse local do link simbólico é, na verdade, “encaminhada” ou redirecionado para onde o real arquivo realmente reside. Link para o
plist
(lista de propriedades) que foi gerado pelo Homebrew e coloque esse novo link simbólico em LaunchAgents
com este comando:$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Observação:verifique se o comando está correto:ele deveria ter sido parte da saída da instalação mencionada acima quando o Homebrew instalou o Postgres inicialmente.
Por fim, carregamos o novo link simbólico
LaunchAgent
arquivo usando o launchctl load
comando, que é especificamente o que informa o computador para executar este script e iniciar o Postgres quando o computador for iniciado. Novamente, o comando exato a ser digitado para sua própria instalação será uma saída durante a instalação do Postgres do Homebrew, mas deve ser algo assim:$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Iniciando o PostgreSQL manualmente
Para inicializar manualmente o Postgres sem reinicializar, novamente você deve poder usar o comando que foi gerado durante a instalação, assim:
$ postgres -D /usr/local/var/postgres
Isso tentará iniciar o Postgres no
daemon
mode, o que significa que ele será executado como um processo em segundo plano sem assumir o controle do seu terminal. Iniciar/Parar PostgreSQL sem Homebrew
Caso você não tenha (ou não queira usar) o Homebrew for Postgres, mas já tenha o Postgres instalado, você também pode iniciá-lo manualmente com
pg_ctl
, que é o utilitário de inicialização fornecido pelo próprio Postgres. Isso iniciará o Postgres (assumindo diretórios padrão):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
E isso vai parar o Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Solução de problemas de inicialização:você executou o initdb
?
Em alguns casos, se você tiver problemas para executar o Postgres, certifique-se de ter executado o
initdb
comando uma vez, o que faz com que o Postgres inicialize o cluster de banco de dados para uma nova instalação e permite que você se conecte com o padrão postgres
do utilizador.