A instalação do homebrew do PostgreSQL não possui arquivos de configuração

21

Então eu instalei com sucesso o PostgreSQL 9.1 no MacOSX Lion. Ao contrário do que as pessoas dizem, não precisei alterar o PATH e nenhuma outra versão do PostgreSQL foi instalada no sistema ( $ psql --version shows psql (PostgreSQL) 9.1.4).

No entanto, quando tento executar o servidor, pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log startele não funciona. Primeiro, ele diz que nenhum diretório /usr/local/var/postgres/existe. Tudo bem, criou um. Em seguida, diz que as permissões estão erradas - tudo bem, alterei-as. Em seguida, ele requer que o postgresql.confarquivo esteja nesse diretório.

Agora, encontrei exemplos de configurações /usr/local/Cellar/postgresql/9.1.4/share/postgresql, mas não sei se é assim que deve ser. Todos os manuais que eu vi na web não mencionaram a criação de arquivos de configuração a partir de amostras. A homebrew não deveria fornecer isso imediatamente, para que eu inicie o servidor imediatamente?

snitko
fonte
Se você achar que deve, envie um novo problema - eu pessoalmente nunca o instalei, portanto não posso dizer se isso é intencional ou não.
slhck

Respostas:

21

Essa é sua primeira instalação? Você já tentou correr initdb /usr/local/var/postgres? Isso acabou de resolver o mesmo problema, que aconteceu comigo depois de limpar uma instalação antiga do PostgreSQL em todo o sistema e reinstalá-la usando o Homebrew.

A execução brew info postgresé sempre útil como um lembrete dos comandos disponíveis após a instalação de um pacote.

postgresql 9.1.4
http://www.postgresql.org/
Depends on: readline, ossp-uuid
/usr/local/Cellar/postgresql/9.1.4 (2751 files, 36M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/postgresql.rb

==> Caveats
# Build Notes

If builds of PostgreSQL 9 are failing and you have version 8.x installed,
you may need to remove the previous version first. See:
  https://github.com/mxcl/homebrew/issues/issue/2510

To build plpython against a specific Python, set PYTHON prior to brewing:
  PYTHON=/usr/local/bin/python  brew install postgresql
See:
  http://www.postgresql.org/docs/9.1/static/install-procedure.html

# Create/Upgrade a Database

If this is your first install, create a database with:
  initdb /usr/local/var/postgres

To migrate existing data from a previous major version (pre-9.1) of PostgreSQL, see:
  http://www.postgresql.org/docs/9.1/static/upgrading.html

# Start/Stop PostgreSQL

If this is your first install, automatically load on login with:
  mkdir -p ~/Library/LaunchAgents
  cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
  launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

If this is an upgrade and you already have the homebrew.mxcl.postgresql.plist loaded:
  launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
  cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
  launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Or start manually with:
  pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

And stop with:
  pg_ctl -D /usr/local/var/postgres stop -s -m fast

# Loading Extensions

By default, Homebrew builds all available Contrib extensions.  To see a list of all
available extensions, from the psql command line, run:
  SELECT * FROM pg_available_extensions;

To load any of the extension names, navigate to the desired database and run:
  CREATE EXTENSION [extension name];

For instance, to load the tablefunc extension in the current database, run:
  CREATE EXTENSION tablefunc;

For more information on the CREATE EXTENSION command, see:
  http://www.postgresql.org/docs/9.1/static/sql-createextension.html
For more information on extensions, see:
  http://www.postgresql.org/docs/9.1/static/contrib.html

# Other

Some machines may require provisioning of shared memory:
  http://www.postgresql.org/docs/current/static/kernel-resources.html#SYSVIPC

To install postgresql (and ossp-uuid) in 32-bit mode:
   brew install postgresql --32-bit

If you want to install the postgres gem, including ARCHFLAGS is recommended:
    env ARCHFLAGS="-arch x86_64" gem install pg

To install gems without sudo, see the Homebrew wiki.
Vicente Reig
fonte
Imaginei que isso existisse, mas não sabia. brew info blah. Isto é fantástico! Obrigado. :)
chandsie
Desde junho de 2014, brew info postgresnão fornece mais as informações úteis CREATE EXTENSION. Portanto, para mim, foi útil vê-las aqui.
user12345