> > 결과 :
> > CRITICAL ERROR: connection fail to DB_name
> > +++++++++++++++++++++++++++++++++++++++++++++++
> > 타 서버와의 db연결을 위해
> >
> > /usr/bin/postmaster /i /S /o /F /D/var/lib/pgsql
> >
> > 위와 같이 설정을 했습니다.
> >
> > 글구 tcp/ip 접속 관리를 위한
> > /var/lib/pgsql/pg_hba.conf
> > 에 해당 ip address를 추가두 시켜주었는데...
>
> PostgreSQL 서버로의 원격 접속은 몇가지 방법에 의해서 조절됩니다.
> 접속이 안될 경우 확인해 봐야 하는 것은 몇가지 되질 않습니다.
>
> 1. postmaster 를 기동시 /i 옵션을 빼 먹었다.
> : 가장 많은 원인입니다. 하지만 위에서 분명히 /i 옵션을
> 주셨으니 이것은 아니 로군요.
> 2. pg_hba.conf에 등록을 하지 않았던지 잘못했다.
> : 등록을 시켜 주지 않은 경우가 대부분의 경우입니다.
> 하지만 등록을 시켰다고 하니 이 또한 아닐 가능성이 커지만
> 어떻게 등록을 하셨는지 일뤄 줄수 없겠는지요.
> 그리고 등록후에는 반드시 postmaster를 재기동하시기 바랍니다.
> 3. 사용자가 등록되어 있지 않다.
> : PostgreSQL 의 DB user의 등록은 이름으로 이루어 지며, 이것은
> 시스템 계정의 사용자와는 전혀 무관합니다.
> 웹을 통한 접근시 주로 'nobody'로서 접근하게 되는데 이때에는
> 반드시 'nobody' 계정이 DB의 사용자로서 등록되어 있어야
> 합니다. (물론 되어 있으리라 생각합니다. 이 문제는 하도 언급
> 되다 보니 별로 틀리는 분들이 안계시더라구요)
> 4. DB 테이블의 Grant 문제
> : 이것 또한 가장 많은 문제 중의 하나입니다. 접근하고자 하는
> DB에서 접근하는 사용자에게로 권한이 열려 있지 않은 경우
> 입니다. 귀찮은 경우 간단히 다음과 같이 grant 명령을 주시고
> 테스트 후 적절한 grant로서 보안을 유지시키시기 바랍니다.
>
> grant all on table_name to public;
>
> 이상이 가장 흔한 원인들의 대부분입니다.
> 하나하나 차근차근 따져 보시기 바랍니다.
>
> > 또 한가지 제 서버는 hosts.allow 및 hosts.deny는 default임.
>
> 참고로 postmaster 데몬은 inetd 아래 돌아가는 데몬이 아니기 때문에 TCP
> wrapper 의 영향은 전혀 받지 않습니다. 그러므로 hosts.allow와 hosts.den
> y의 설정과는 무관합니다.
>
> 그럼 꼭 성공하시기 바랍니다.
>
서버를 a4라 하면..
local all trust
host all 127.0.0.1 255.255.255.255 trust
host all 210.207.4.a1 255.255.255.255 trust
host all 210.207.4.a2 255.255.255.255 trust
host all 210.207.4.a3 255.255.255.255 trust
위와 같이 설정을 해 놓았는데...postmaster 재기동 했음!!!
클라이언트 a1에서는 a4 DB에 접근이 됩니다..
하지만 역으로 실행시 a4에서는 a1의 DB에 접근이 되지않고
Unsupported frontend protocol
위와 같은 메세지가 클라이언트인 a1에 뜹니다..
친절하시게도 4개의 답변을 해주신 것중에서 1,2은 확실히 아닌듯 싶지만 현재 이글보구 3,4을 해보구 있습니다..
현재 사용중인 버젼은 6.3과 6.4 입니다..
그런데 6.3에서는 동일버젼뿐 아니라 상위버젼의 DB Connect이 되는 반면 6.4에서는 타서버 즉 하위버젼의 DB Connect이 되질 않더군여
혹시 버젼에 차이가 있는것인지...
번거로우시더라두 명확한 해답 부탁드립니당,,,,
|