Se você atualizou recentemente seu mac para executar o Yosemite e está usando o Postgres para suas necessidades de desenvolvimento, pode descobrir que o daemon do Postgres não está mais em execução e não pode ser iniciado.
Você verá o seguinte erro:
$ postgres -D /usr/local/var/postgres
FATAL: could not open directory "pg_tblspc": No such file or directory
Parece que Yosemite excluiu algumas pastas.
Para corrigir isso, você tem algumas opções:
- Crie as pastas e coloque um arquivo .keep nelas para que não sejam apagadas novamente. Você pode fazer isso executando os seguintes comandos:
$ mkdir -p /usr/local/var/postgres/{pg_tblspc,pg_twophase,pg_stat_tmp}/
$ touch /usr/local/var/postgres/{pg_tblspc,pg_twophase,pg_stat_tmp}/.keep
- Se você não tiver nenhum dado importante armazenado em sua instância local do Postgres, tente executar
$ rm -r /usr/local/var/postgres
$ initdb -D /usr/local/var/postgres
Note que esta abordagem eliminará todos os bancos de dados existentes e você pode ter que executar novamente suas tarefas rake (reset, seed) para recriá-los.