2012-02-28 8 views
11

Wiem, że istnieje wiele pytań związanych z lwem-postgresql na przepełnienie stosu, ale żaden nie rozwiązuje mojego problemu.Uszkodzone zaparzanie zainstalowane postgresql na lwie

Zainstalowałem homebrew z postgresql i wszystko było w porządku po tym. Następnie trochę pomieszałem z linkiem libpq.dylib w katalogu/usr/lib, aby aplikacja łączyła się z wersją instalowaną, a nie z wersją zainstalowaną na OS. Jakoś udało mi się złamać mi zainstalować robiąc to w taki sposób, że każde wezwanie do psql daje następujący błąd:

>psql 
psql: invalid connection option "client_encoding" 

ponownej instalacji PostgreSQL z „napar usunąć PostgreSQL” i inny „napar zainstalować PostgreSQL” nie wydaje do pomocy (ten sam błąd). Połączyłem także /usr/lib/libpq.dylib na /usr/lib/libpq.5.dylib, co uważam, że było wcześniej.

Ponadto, potencjalnie związanych z problemem jest to, że mój serwer PostgreSQL nie wydają się chce zamknąć:

>pg_ctl -D /usr/local/var/postgres stop -s -m fast  
pg_ctl: server does not shut down 

Ktoś ma żadnych wskazówek co do tego, co jest nie tak? Ewentualnie, w jaki sposób całkowicie odinstalować i ponownie zainstalować serwer i klienta postgres?

+0

Co masz na myśli przez„zawiedli się trochę z link libpq.dylib "wskazałeś dowiązanie symboliczne do innej wersji libpq? –

+1

Nie mam pojęcia, co zrobiłeś, aby go złamać, ale może łatwiej byłoby go usunąć i zainstalować Postgres.app? Ref: http://postgresapp.com/ – Qsario

Odpowiedz

1

Wypróbuj /usr/local/bin/psql. Jeśli to nie zadziała, spójrz na which psql.

Lion jest dostarczany wraz z instalacją programu postgresql, a użytkownik może użyć zapasu psql zamiast zaparzyć psql.

Lub ten może być uruchomiony, a przy użyciu zaparzacza psql połączyć się z instancją Lion postgres.

Sprawdź, czy /usr/local/bin jest przed /usr/bin w $PATH. Sprawdź echo $PATH.

1

Fix, który pracował dla mnie:

  • jeśli używasz pgAdmin:

    show server_encoding; 
    

    -bash-4.1 $ eksport PGCLIENTENCODING = 'UTF-8' -bash-4.1 $ psql

psql (9.3.3) Wpisz "help", aby uzyskać pomoc.

postgres = # \ L ...

put var w .profile lub .bashrc

1

Jeśli zainstalowano PostgreSQL poprzez homebrew:

brew update 
brew doctor 

Unexpected dylibs: /usr/local/lib/libpq.5.dylib

Unexpected .la files: /usr/local/lib/psqlodbcw.la

brew upgrade postgresql 

Error: The brew link step did not complete successfully

brew link --overwrite postgresql 

Powinieneś wtedy poprawnie uruchomić polecenie psql.

1

jeśli masz brew doctor „d i już najnowszą wersję PostgreSQL, uruchom

brew unlink postgresql && brew link postgresql

następnie

brew link --overwrite postgresql

Powiązane problemy