PostgreSQL 오류 ‘서버에 연결할 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다’ 11329

다른 프로젝트와 마찬가지로 프로젝트에서 rake db : migrate를 실행하거나 Ruby on Rails 3.2 애플리케이션 대한 대부분의 데이터베이스 작업을 시도 할 때이 오류가 발생 합니다.

PGError (서버에 연결할 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다. 서버가 로컬로 실행 중이고 Unix 도메인 소켓 “/tmp/.s.PGSQL.5432″에서 연결을 허용합니까?

오래 전에 Homebrew 와 함께 PostgreSQL 을 설치 했으며 MongoDB를 설치 한 후 최근 PostgreSQL 설치가 동일하지 않았습니다. OS X v10.6 Snow Leopard를 실행하고 있습니다.

무엇이 잘못되었고 PostgreSQL이 Mac에서 어떻게 설정되어 있어야하는지 어떻게 더 잘 이해합니까?

지금까지는 PostgreSQL이 실행되고 있지 않다고 생각합니다 (?).

ps -aef|grep postgres                                                                                                   (ruby-1.9.2-p320@jct-ana) (develop) 
  501 17604 11329   0   0:00.00 ttys001    0:00.00 grep postgres

그러나 이것은 PostgreSQL이 실행 중임을 알려줍니까?

 launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist                                                        (ruby-1.9.2-p136)
homebrew.mxcl.postgresql: Already loaded

이 문제를 어떻게 해결합니까? 내가 뭘 보지 못합니까?

PS : ~/Library/LaunchAgents두 개의 PostgreSQL .plist 파일이 포함되어 있습니다. 그것이 관련이 있는지 확실하지 않습니다.

org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist

나는 다음을 시도하고 아래와 같이 결과를 얻었다.

$ psql -p 5432 -h localhost

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?

OS X가 자체 버전의 PostgreSQL을 설치하고 Homebrew가 다른 위치에 다른 버전을 설치하고 PostgreSQL 명령이 / tmp / 디렉토리를 찾고 있기 때문에 이것이 발생했기 때문에 읽었습니다. Stack Overflow에서 더 많은 것을 검색해야하지만 기본적으로 PostgreSQL을 symlink하여 해당 tmp 경로를 찾는 것이 실제로 실제 경로를 찾을 수 있도록하십시오.

이것은 내가 시도 할 몇 가지 더 많은 것을 발견 한 링크입니다. 특히 위의 링크를 수행하면 Mac OSX Lion Postgres는 /tmp/.s.PGSQL.5432의 연결을 허용하지 않습니다 . 나는 여전히 누군가 누군가 OS X에 PostgreSQL을 설치하는 개념과 그것이 왜 그렇게 어려운지에 대해 잘 설명하기를 바랍니다.

문제 해결에 도움이되는 최신 정보 :

$ which psql // This tells you which PostgreSQL you are using when you run $ psql. 

그런 다음 다음을 실행하십시오.

$ echo $PATH

고려해야 할 핵심 사항은 다음과 같습니다.

OS X 시스템의 PostgreSQL에 대한 경로 전에 실행하려는 PostgreSQL 사본의 경로 항목이 COMES인지 확인하십시오.

이것은 어떤 PostgreSQL을 실행할지 결정하는 핵심 요구 사항이며, 내가 들었던 내용은 이러한 문제의 대부분을 초래합니다.



답변

postgres 디렉토리에 postmaster.pid가 없는지 확인하십시오. /usr/local/var/postgres/

이것을 제거하고 서버를 시작하십시오.

확인 – https://github.com/mperham/lunchy가 launchctl을위한 훌륭한 래퍼입니다.


답변

OS X를 사용하는 경우 ” Postgres.app “가 더 나은 수정입니다


수정 사항은 다음과 같습니다.

  1. 데이터베이스를 중지
  2. cd /var
  3. rm -r pgsql_socket
  4. ln -s /tmp pgsql_socket
  5. chown _postgres:_postgres pgsql_socket
  6. 컴퓨터가 아닌 PostgreSQL을 다시 시작하십시오.

자세한 내용은 ” postgresql 9.0.3. on Lion Dev Preview 1 “에서 확인할 수 있습니다.


답변

나를 위해, 이것은 작동합니다

rm /usr/local/var/postgres/postmaster.pid


답변

이것은 당신이 언급 한 오류에 대해 나를 위해 일했습니다. 수행 이들의를 :

  1. 설치 중에 postgres.conf기본 포트 이외의 다른 것을 사용한 경우 파일에 지정된 기본 포트를 변경하십시오 5432.

  2. 포트 번호를 변경하고 postgresql.confDB 서버를 다시 시작하십시오.

  3. psql전체 명령 을 입력하는 대신 :

    psql -p 5432 -h localhost   
    • 서버 이름과 포트 번호

답변

Homebrew를 실행중인 경우 Postgresql end pg gems를 제거하십시오 : *

$ gem uninstall pg
$ brew uninstall postgresql

다음 스크립트를 다운로드하여 실행하여 / usr / local에 대한 권한을 수정
하십시오 . * https://gist.github.com/rpavlik/768518

$ ruby fix_homebrew.rb

그런 다음 Postgres를 다시 설치하고 pg gem을 설치하십시오 : *

$ brew install postgresql
$ initdb /usr/local/var/postgres -E utf8

로그인 실행시 postgresql 시작을 시작하려면 다음을 수행하십시오.

$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents 

또는 수동으로 시작하십시오.

pg gem 설치

$ gem install pg

도움이 되었기를 바랍니다


답변

Postgres를 9.3.x로 업그레이드했을 때 문제가 발생했습니다. 빠른 수정 방법은 이전에 사용했던 9.2.x 버전으로 다운 그레이드하는 것이 었습니다 (새 버전을 설치할 필요가 없음).

$ ls /usr/local/Cellar/postgresql/
9.2.4
9.3.2
$ brew switch postgresql 9.2.4
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
<open a new Terminal tab or window to reload>
$ psql

Homebrew 설치 특정 버전의 수식? “은 문제를 해결하는 다른 방법과 함께 훨씬 포괄적 인 설명을 제공합니다.


답변

postgres를 업그레이드하여이 문제를 해결했습니다.

brew update
brew upgrade

그런 다음 10에서 11로 업그레이드했기 때문에 데이터베이스를 새 주요 버전과 호환되도록 업그레이드해야했습니다.

brew postgresql-upgrade-database

(출처 https://github.com/facebook/react-native/issues/18760#issuecomment-410533581 )