W instalacji domowej PostgreSQL brakuje plików konfiguracyjnych

21

Pomyślnie zainstalowałem PostgreSQL 9.1 na MacOSX Lion. W przeciwieństwie do tego, co mówią ludzie, nie musiałem zmieniać PATH i żadna inna wersja PostgreSQL nie została zainstalowana w systemie ( $ psql --version programy psql (PostgreSQL) 9.1.4).

Jednak gdy próbuję uruchomić serwer pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start, nie działa. Po pierwsze, mówi, że nie /usr/local/var/postgres/istnieje żaden katalog. Dobrze, stworzyłem jeden. Potem mówi, że uprawnienia są złe - dobrze, zmieniłem je. Następnie wymaga postgresql.conf, aby plik znajdował się w tym katalogu.

Teraz znalazłem przykładowe konfiguracje /usr/local/Cellar/postgresql/9.1.4/share/postgresql, ale nie jestem pewien, czy tak właśnie powinno być. Wszystkie podręczniki, które widziałem w Internecie, nie wspominały o tworzeniu plików konfiguracyjnych z próbek. Czy homebrew nie powinien dostarczać tego po wyjęciu z pudełka, aby po prostu uruchomić serwer od razu?

snitko
źródło
Jeśli uważasz, że tak, prześlij nowy problem - osobiście nigdy go nie instalowałem, więc nie mogę powiedzieć, czy jest to zamierzone.
slhck

Odpowiedzi:

21

Czy to Twoja pierwsza instalacja? Próbowałeś biec initdb /usr/local/var/postgres? To właśnie rozwiązało ten sam problem, który właśnie mi się przydarzył po wyczyszczeniu starej ogólnosystemowej instalacji PostgreSQL i ponownej instalacji za pomocą Homebrew.

Uruchamianie brew info postgresjest zawsze przydatne jako przypomnienie poleceń dostępnych po zainstalowaniu pakietu.

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
źródło
Domyślałem się, że to istnieje, ale nie wiedziałem o tym. brew info blah. To jest fantastyczne! Dzięki. :)
chandsie
Od czerwca 2014 r. brew info postgresNie zawiera już przydatnych informacji na temat CREATE EXTENSION- więc dla mnie pomocne było zobaczenie go tutaj.
user12345