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-server
porta:
$ 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 PATH
para 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 psql
e deverá ver como a saída./opt/local/lib/postgresql92/bin/psql
Criar um novo usuário
Você será configurado com um postgres
usuá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
pg
gema ao seuGemfile
e execute obundle
comando Gist - Configure seu para usar PostgreSQL: Gist
database.yml
Mesmo se você tiver definido a min_messages
opçã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.