2012-02-28 45 views
11

Tôi biết có rất nhiều câu hỏi liên quan đến sư tử-postgresql trên ngăn xếp tràn, nhưng dường như không có vấn đề nào giải quyết được vấn đề của tôi.Postgresql bị hỏng do brew cài đặt trên sư tử

Tôi đã cài đặt homebrew của postgresql và mọi thứ đều ổn sau đó. Sau đó, tôi đã làm rối tung một chút với liên kết libpq.dylib trong/usr/lib sao cho một ứng dụng sẽ liên kết đến phiên bản được cài đặt của phiên bản thay vì phiên bản do OS cài đặt. Bằng cách nào đó tôi cố gắng phá vỡ cài đặt của tôi khi làm điều này theo cách như vậy mà bất kỳ cuộc gọi đến psql cung cấp cho các lỗi sau:

>psql 
psql: invalid connection option "client_encoding" 

cài đặt lại postgresql với 'brew loại bỏ postgresql' và một 'brew cài đặt postgresql' dường như không để giúp (cùng một lỗi). Tôi cũng đã relinked /usr/lib/libpq.dylib thành /usr/lib/libpq.5.dylib, đó là những gì tôi tin trước đây.

Ngoài ra, một vấn đề tiềm ẩn liên quan là máy chủ postgres của tôi dường như không muốn đóng cửa:

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

Bất cứ ai có bất cứ manh mối như những gì là sai? Ngoài ra, làm thế nào tôi hoàn toàn có thể gỡ cài đặt và cài đặt lại máy chủ và máy khách postgres?

+0

Ý anh là gì bởi "sai lầm xung quanh một chút với liên kết libpq.dylib "bạn có trỏ liên kết tượng trưng đến phiên bản libpq khác không? –

+1

Tôi không có đầu mối những gì bạn đã làm để phá vỡ nó, nhưng có lẽ nó sẽ chứng minh dễ dàng hơn để loại bỏ nó và cài đặt Postgres.app? Tham khảo: http://postgresapp.com/ – Qsario

Trả lời

1

Hãy thử /usr/local/bin/psql. Nếu điều đó không hiệu quả, hãy xem which psql.

Sư tử đi kèm với quá trình cài đặt postgresql đang chạy và bạn có thể đang sử dụng mã chứng khoán psql thay vì sản phẩm bia psql.

Hoặc ứng dụng đó có thể đang chạy và sử dụng psql pha để kết nối với phiên bản Lion postgres.

Xác minh rằng /usr/local/bin trước /usr/bin trong $PATH. Kiểm tra echo $PATH.

1

Fix mà làm việc cho tôi:

  • nếu bạn sử dụng pgAdmin:

    show server_encoding; 
    

    -bash-4.1 $ xuất khẩu PGCLIENTENCODING = 'UTF8' -bash-4.1 $ psql

psql (9.3.3) Nhập "trợ giúp" để được trợ giúp.

postgres = # \ l ...

đặt var trong .profile hoặc .bashrc

1

Nếu bạn cài đặt postgresql qua 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 

Sau đó, bạn nên sử dụng lệnh psql.

1

nếu bạn đã brew doctor 'd và đã có phiên bản mới nhất của postgres, chạy

brew unlink postgresql && brew link postgresql

sau đó

brew link --overwrite postgresql

Các vấn đề liên quan