sexta-feira, 14 de dezembro de 2012

Instalando PostgreSQL no Mountain Lion

Antes de tentar instalar o postegres eu recomendo tentar o postgresapp, rápido e fácil.

Documentação: http://postgresapp.com/documentation

Agora se você mesmo assim quiser instalar direto na máquina

Pré-requisitos:
Homebrew

No terminal rode uma linha por vez:
- brew install postgresql
- initdb /usr/local/var/postgres -E utf8
- mkdir -p /Library/LaunchAgents
- cp /usr/local/Cellar/postgresql/%versãodopostgresql%/homebrew.mxcl.postgresql.plist /Library/LaunchAgents/ launchctl load -w /Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Obs: substitua %versãodopostgresql% pela versão utilizada, ex: 9.2.2

Se o brew cuspir um erro de syslink como por exemplo esse:
Error: Could not symlink file: /usr/local/Cellar/postgresql/9.2.2/share/doc/postgresql /usr/local/share/doc is not writable. You should change its permissions.
Abra a pasta em questão e dê permissão ao seu usuário de escrita e leitura e depois execute:
brew link postgresql

Existe um fix necessário com relação ao socket para pg, execute os seguintes passos: - mkdir /var/pgsql_socket
- sudo chown $USER /var/pgsql_socket
- Abra /usr/local/var/postgres/postgresql.conf num editor de texto e descomente unix_socket_directory editando para unix_socket_directory = '/var/pgsql_socket'

Use o comando abaixo para rodar o server:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
E esse outro para parar o server:
pg_ctl -D /usr/local/var/postgres stop -s -m fast

Se o server não conseguir desligar, descarregue o autolaunch e tente novamente: launchctl unload -w /Library/LaunchAgents/org.postgresql.postgres.plist

Se o psql --version for uma versão diferente da instalada então o Mac está usando o command line pré instalado do psql. Exporte o PATH no bash_profile para fazer com que o OS use o correto.
- Execute no terminal: open /.bash_profile
- Adicione a linha e salve: export PATH="/usr/local/bin:/usr/local/sbin:/bin:$PATH"
- Reinicie o terminal para que as configs estejam corretas

Pronto você já deve conseguir conectar no host com:
psql -h localhost -d "nomedobanco" (rodando psql -l é mostrado o nome do banco)

Quando conectado você pode executar comandos sql suportados pelo postgre e use \q para sair do console.

Baseado em Install Postgresql on Mountain Lion