2012-02-18 4 views
0

방금 ​​내 보석을 업데이트했습니다. 그리고 지금은 내 postgresql 데이터베이스에 연결하는 데 문제가 있습니다. 내가 오류 얻을 :PostgreSQL, 업데이트 후 문제

PGError 

could not connect to server: Permission denied 
    Is the server running locally and accepting 
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

내가 보석을 제거하고 다시 설치 시도를, 나는 또한 경로가 파일 및 상단에 '/ usr/지방/빈 /'넣어 변경했습니다. 나는 포스트에서 몇 가지 시도 :이 응용 프로그램은 내 보석을 업데이트하기 전에 잘 작동

Repairing Postgresql after upgrading to OSX 10.7 Lion

, 다른 응용 프로그램이 여전히 동일한 서버에 잘 연결합니다. 내 database.yml 파일에서 동일한 설정을 .. 무엇이 잘못 될 수 있을까?

+0

마지막으로, 나는 관련 주제를 발견했다. http://stackoverflow.com/questions/7369164/postgresql-why-do-i-have-to-specify-h-localhost-when-running-psql/7377682#7377682 – wildplasser

답변

1

오류는 PostgreSQL 서버에서 발생하며 여러 번 본적이 있습니다. 그것은 을 실행하고 포트 5432에서 수신 대기중인 서버에 Unix 도메인 소켓을 통해 (TCP/IP가 아닌!) 연결을 시도하고 있음을 나타냅니다. 그러나 그런 연결을 허용하는 서버는 찾을 수 없습니다.

PostgreSQL 서버가있는 곳을 언급하지 않았습니다. 로컬 컴퓨터의 데이터베이스 서버에 실제로 연결한다는 의미입니다.

설정을 확인하십시오. 특히 pg_hba.conf 파일을 확인하십시오. 당신은 같은 라인이 필요합니다

local  mydb myuser  md5 

또는

local  all  all  peer 

또는 사용자와 데이터베이스를 포함하는 다른 연결 방법

.

이 것 귀하의 경우하지 도움 :

hostssl ... 

host ... 

또는

그들은 TCP/IP 연결, UNIX 도메인 소켓을 통해 로컬이 아닌 연결을 우려. localhost에 연결할 때 로컬 루프를 통해 실제로 TCP/IP를 사용하며이 설정이 적용됩니다.

pg_hba.conf을 편집 한 후 다시로드해야합니다. 나는 링크 된 사이트에서 설명서를 인용한다 :

If you edit the file on an active system, you will need to signal the postmaster (using pg_ctl reload or kill -HUP) to make it re-read the file.

+0

어윈, 이럴이 다시입니다 유닉스 - 도메인 소켓에 관한 주제가 예상보다 다른 곳에있다. 이전 버전은 모두 (최근 업그레이드 된) OSX 설치입니다. – wildplasser

+0

@wildplasser : 그럴 수도 있습니다. 아니면 jakobk이 우리가 [여기] (http://stackoverflow.com/a/8976814/939860)했던 것처럼'local'과'localhost'를 혼동 할 수도 있고, 우리가 여기에있는 것처럼 포트를 혼란시킬 수도 있습니다 (http : // stackoverflow .com/q/7861867/939860). –

+0

안녕하세요 어윈, 솔루션 주셔서 감사합니다 .. 내가 할 수있는 pg_hba.conf 파일을 찾을 수 could'nt? 하나의 프로젝트가 작동하고 database.yml 파일은 동일합니다 (데이터베이스 제외). 하나는 정상적으로 작동하고 다른 하나는 PGerror를 제공합니다. 그래서 그 프로젝트의 구성에 있어야합니까? – jakobk

관련 문제