본문 바로가기
카테고리 없음

CentOS 6.5에 PostgreSQL 설치하기

by 철이아부지 2014. 8. 18.

흠.. -_-; 왜 또 이짓을...

 

일단 yum install postgresql postgresql-server 를 실행하여 postgresql 클라이언트 및 서버를 설치한다.

처음엔 초기화가 안되어 있으므로 다음 명령어로 데이터베이스 초기화

service postgresql initdb

이제 외부에서 서버에 연결할 수 있도록 설정을 잡아주자.

/var/lib/pgsql/data 디렉토리로 이동한다. (왜 저기에 설치되는 거냐.. ㅠㅠ 귀찮게..)

pg_hba.conf 파일을 열어 가장 하단에 다음과 같이 모든 연결에 대해 md5 인증을 하도록 추가한 후 저장한다.

host    all         all         0.0.0.0/0             md

접속 가능한 IP 대역을 제어하고 싶으면 0.0.0.0/0 이라고 된 부분을 적당히 고쳐서 사용..

이제 postgresql 서버가 외부 주소에 대해 listening 하도록 같은 폴더 내의 postgresql.conf 파일에 다음과 같이 추가한 후 저장한다.

listen_addresses = '*'

이제 service postgresql start 명령으로 서버를 시작한다.

문제 발생시 /var/lib/pgsql/data/pg_log 아래에 있는 파일 내용을 보고 오류를 수정하자. (왜 저기 설치되는거냐.. ㅠㅠ 귀찮게..x2)

재부팅시 postgresql 서버가 자동으로 구동되게 하려면 chkconfig postgresql on 명령을 사용하여 자동으로 시작될 수 있게 해주자

이제 사용자가 쓸수 있는 계정과 데이터베이스를 만들어 보자

su - postgres 명령을 사용해서 postgres 계정으로 갈아탄 후 psql 을 실행한다.

다음 명령으로 사용자 생성

create user 아이디 with password '비밀번호';

create database 데이터베이스 with encoding='utf-8' onwer 아이디;

Ctrl-D를 눌러 psql을 종료한다. 이것으로 기본적인 준비는 완료.

외부에서 pgadmin 등으로 접속을 시도해보면 접속이 안된다. centos에는 방화벽이.. ㅡㅡ;

 

/etc/sysconfig/iptables 파일에 다음과 같이 추가한다.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

다음 명령으로 iptables를 재구동 하자

service iptables restart

이제 외부에서 접속 될것으로 예상. 안되면 차근 차근 다시 원인 분석!