Instale o PostgreSQL 9.2 no OS X Mountain Lion

O banco de dados PostgreSQL fica cada vez melhor a cada versão. Com o 9.2 agora em beta2, é um ótimo momento para começar e começar a trabalhar rapidamente.

Pré-requisitos

Este guia assume o seguinte:

  • OS X Mountain Lion
  • O último XCode
  • Ferramentas de linha de comando XCode
  • Os MacPorts mais recentes

Instalação

Certifique-se de que o MacPorts esteja atualizado e instale a postgresql92-serverporta:

$ sudo port -v selfupdate
$ sudo port
-v install postgresql92-server

Configure o banco de dados inicial

Depois que o servidor for instalado, você precisará criar o banco de dados inicial:

$ sudo mkdir -p /opt/local/var/db/postgresql92/defaultdb
$ sudo chown postgres
:postgres /opt/local/var/db/postgresql92/defaultdb
$ sudo su postgres
-c '/opt/local/lib/postgresql92/bin/initdb -D /opt/local/var/db/postgresql92/defaultdb'

Iniciando o Servidor

Depois de criar o banco de dados inicial, você pode iniciar o servidor.

Para executar o servidor manualmente, execute o seguinte comando:

$ sudo su postgres -c '/opt/local/lib/postgresql92/bin/postgres -D /opt/local/var/db/postgresql92/defaultdb'

Se você deseja que o servidor inicie automaticamente no momento da inicialização, execute o seguinte comando:

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql92-server.plist

Configure seu PATH

Os arquivos executáveis ​​para PostgreSQL estão em um local não padrão, portanto, você deseja atualizar seu PATHpara facilitar as coisas. Provavelmente, você desejará editar o seu perfil ou (ou similar), embora possa definir a aplicação das alterações para todos os usuários do sistema editando .~/.bashrc~/.zshrc/etc/profile

Certifique-se de definir o novo caminho antes para garantir que está usando as versões mais recentes e não as ferramentas padrão fornecidas pela Apple:/usr/bin

export PATH=/opt/local/lib/postgresql92/bin:$PATH

Você pode verificar se isso funciona executando which psqle deverá ver como a saída./opt/local/lib/postgresql92/bin/psql

Criar um novo usuário

Você será configurado com um postgresusuário por padrão, mas é uma boa prática criar uma conta de usuário diferente.

Para tornar as coisas mais fáceis, crie um novo usuário de banco de dados para corresponder ao seu nome de usuário do OS X:

$ createuser --superuser <my username> -U postgres

Agora você deve ser capaz de criar um novo banco de dados:

$ createdb my_app

Considere definir uma senha para o usuário recém-criado;)

Configurando um aplicativo Rails

Para configurar seu aplicativo Rails com PostgreSQL, você precisará fazer o seguinte:

  • Adicione a pggema ao seu Gemfilee execute o bundlecomando Gist
  • Configure seu para usar PostgreSQL: Gistdatabase.yml

Mesmo se você tiver definido a min_messagesopção, ainda poderá ver a saída do console como a seguinte:

WARNING:  there is already a transaction in progress

Edite o arquivo e defina o seguinte:/opt/local/var/db/postgresql92/defaultdb/postgresql.conf

client_min_messages = error

Tudo agora deve estar funcionando perfeitamente.