2013-07-04 1 views
2
나는 (I 합류 해요 있음)를 레일 프로젝트에 대한 내 로컬 PostgreSQL 데이터베이스를 설정하고있어, 다음과 같은 짓을

:PostgreSQL을 "더있는 pg_hba.conf 항목이 없습니다"오류

  • 설치된 포스트 그레스
  • 추가/번들 '페이지'보석
  • 는 "는 foobar"라는 이름의 DB 사용자를 작성
  • 만든 DB는 "foobar_development"

레일 응용 프로그램은 RAK와 함께 제공이라는 e db : 마이그레이션 작업. 나는 다음과 같은 위치에있는 pg_hba.conf 파일을 찾을

FATAL: no pg_hba.conf entry for host "::1", user "foobar", database "foobar_development", SSL off 

:

/usr/지방은/var/포스트 그레스

이 여기 있어요 내가이 작업을 실행하면, 나는 다음과 같은 오류 출력을 얻을 위해서는 pg_hba.conf 파일의 관련 부분 :

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          trust 
# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
host all    all    ::1/128     trust 
# Allow replication connections from localhost, by a user with the 
# replication privilege. 

#local replication  jimmyli        trust 
#host replication  jimmyli  127.0.0.1/32   trust 
#host replication  jimmyli  ::1/128     trust 

내가 걱정하지만 나는 그것이 어딘가에 ELS의 또 다른 버전을 설치했을 수도, 내 맥 (버전 9.2.4)와 함께 제공되는 포스트 그레스를 사용하고 e (그리고 그것을 제거해야한다 - 어쨌든 나는 이것을 확인할 수 있는가?). psql을 실행하기 위해 Postgres.app도 사용하고 있습니다. (http://postgresapp.com/).

필자의 pg_hba.conf 파일은 모든 사용자에게 모든 dbs 액세스 권한을 부여하므로 올바르게 작동해야한다고 생각합니다. 그래서 거기에 다른 pg_hba.conf 파일이 있는지 궁금합니다. 틀린 것/사용되지 않는 것. 이 가설을 어떻게 테스트 할 수 있습니까?

답변

0

pg_hba.conf가 데이터 디렉토리에 복사됩니다. list here에 따르면 ~/Library/Application \ Support/Postgres/var에 있어야합니다. 희망은 도움이 ...

+0

그래, 오른쪽 경로에 매우 가까웠다 - 포스트 그레스에서 SHOW의 hba_file을 수행하여 올바른 경로를 발견했다. – jyli7

4

pg_hba.conf 파일을 변경 한 후 postgresql을 다시로드 했습니까? 수퍼 유저로 db에 로그인하여 select pg_reload_conf();을 실행하여 pg_hba.conf 및 postgresql.conf 파일을 다시로드하십시오.

8

알 수 있습니다. 내가 잘못된/관련이없는 pg_hba.conf 파일을보고있는 것처럼 보입니다.

/Library/PostgreSQL/9.1/ : 오른쪽에 하나를 찾으려면, 나는이 내 사건에 있던 관련 파일, 나에게 길을 준 psql을 가진 DB에 로그인 "SHOW의 hba_file"

를 실행 데이터

다음이 질문에 대한 올바른 줄을 추가 (내 질문 참조) 및 모든 일을!.

0

명령 줄에 다음과 같은 환경 변수가 포스트 그레스 연결을 위해 SSL을 요구하도록 설정합니다

$ export PGSSLMODE=require