Po zrestartowaniu MacBooka Pro nie mogę uruchomić serwera bazy danych:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Sprawdziłem logi i w kółko pojawia się następujący wiersz:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
Wersja 9.0.4 była preinstalowana na Macu, 9.2 [.4] to wersja, którą zainstalowałem przez Homebrew. Jak wspomniano, działało to przed ponownym uruchomieniem, więc w rzeczywistości nie może to być problem z kompilacją. Uruchomiłem również ponownie initdb /usr/local/var/postgres -E utf8
i plik nadal istnieje.
Niestety, jestem całkiem nowy w Postgres, więc każda pomoc byłaby bardzo mile widziana.
macos
postgresql
homebrew
klaffenboeck
źródło
źródło
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- a odpowiedź brzmiserver starting
pg_ctl
, jestem prawie pewien, że znajdziesz 2 kopie. A ta, którawhich pg_ctl
będzie pasować, będzie starą wersją, a druga będzie nową wersją.pg_ctl --version
dajepg_ctl (PostgreSQL) 9.2.4
Server.app
i ukryli, aby używać niestandardowego portu i katalogu gniazda unix. Wreszcie!Odpowiedzi:
Jeśli niedawno zaktualizowałeś do wersji 11 lub 12 z 10.x , możesz uruchomić poniższe polecenie, aby zaktualizować katalog danych postgres z zachowaniem wszystkich danych:
Powyższe polecenie jest pobierane z danych wyjściowych programu
brew info postgres
źródło
brew postgresql-upgrade-database
a następnie zrestartuj postgresbrew info
.Jeśli szukasz opcji jądrowej (usuń wszystkie dane i uzyskaj nową bazę danych), możesz:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
a następnie będziesz musiał przejść do
rake db:setup
irake db:migrate
z aplikacji Rails, aby ponownie przeprowadzić konfigurację.źródło
createuser -s your_rails_app
aby utworzyć użytkownika postgres railsów. Zobacz stackoverflow.com/questions/11919391/…Spróbuj tego: https://gist.github.com/joho/3735740
U mnie zadziałało idealnie. W końcu generuje również 2 skrypty bash do sprawdzenia bazy danych i usunięcia starego klastra. Naprawdę niesamowite.
zobacz: http://www.postgresql.org/docs/9.2/static/pgupgrade.html, aby dowiedzieć się więcej.
źródło
Znalezione w Internecie to rozwiązanie działa dobrze dla mnie.
Kiedy próbowałem uruchomić serwer postgresql po aktualizacji do OS X 10.10 Yosemite, napotkałem kolejny problem:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
OK, spójrzmy na logi serwera:
cat /usr/local/var/postgres/server.log
Musimy więc wykonać kilka kroków po aktualizacji postgresql:
Otóż to.
źródło
Jeśli chcesz zachować poprzednią wersję postgres, użyj
brew switch
:W przeciwnym razie, należy rozważyć ten napar komendę migracji istniejących danych:
brew postgresql-upgrade-database
. Sprawdź kod źródłowy .źródło
Zdarzyło mi się to, gdy próbowałem uruchomić Postgres12 z zamontowanym wolumenem postgres11. Po prostu usunięcie zamontowanego woluminu dla postgres11 i ponowne uruchomienie działało dla mnie.
Wcześniej używałem:
Usunąłem / Users / champ / postgres i zrestartowałem postgres 12, używając
źródło