다른 서버에서 데이터베이스로 액세스 할 수 있도록 pg_hba.conf 파일 구성 all

한 서버에 postgres 데이터베이스가 있고 다른 서버에서 액세스해야합니다.

pg_hba.conf 파일을 편집해야하지만 이제이 파일을 편집하는 단계가 무엇인지 알고 있습니다. 서버 센 토스

파일에 다음 줄을 추가해야합니다

host    all         all         10.0.2.12         255.255.255.255   trust

나는 그것을 찾았다 var/lib/pgsql/data/

이제 기본적 으로이 작업을 수행하는 올바른 단계가 무엇인지 잘 모르겠습니다.



답변

먼저 주어진 pg_hba.conf의 백업 사본을 만듭니다

sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf

그렇게하면 나사를 풀면 이전 버전이 준비됩니다. tar 아카이브의 좋은 기능은 권한과 디렉토리를 보존한다는 것입니다. 따라서 pg_hba.conf가 인식을 넘어선 경우. 당신은 할 수 있습니다 :

cd /
sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar

이전에 만든 아카이브에서 백업 pg_hba.conf가 복원됩니다.

라인의 실제 삽입에 관해서는 :

sudo su -c 'echo "host    all         all         10.0.2.12         255.255.255.255   trust" >> /var/lib/pgsql/data/pg_hba.conf'

(참고 : 명령이 편집되었습니다. 감사합니다 bortzmeyer!)

해야합니다. 이것은 pg_hba.conf에 행을 추가합니다. 변경해야 할 경우 실제 편집기를 사용해야합니다. vi처럼. 학습 곡선은 약간 가파르지만 최소한 기본 사항을 배우면 대부분의 유닉스 환경에서 매우 안전해야합니다.

이제 트랙으로 돌아 왔으므로 postgresql 데이터베이스를 다시 시작해야합니다. Centos 머신에서 다음과 같이 수행됩니다.

sudo service postgresql restart

또는 다시 시작하지 않고 구성을 다시로드 할 수 있습니다.

su - postgres
pg_ctl reload

이제 10.0.2.12에서 Centos-machines postrgresql 데이터베이스에 액세스 할 수 있어야합니다.


답변

postgresql.conf를 편집하고 행을 변경 / 추가하는 것을 잊지 마십시오

listen_addresses = '*'

PostgreSQL은 기본적으로 localhost에서 수신 대기합니다


답변