Ubuntu(12.04|14.04) Postgresql9.x 설치 후 기본 설정

1. postgresql.conf 편집

버전에 따라 다른데 대략 비슷한 경로에 있다.

$sudo nano /etc/postgresql/8.4/main/postgresql.conf

메모리 사용이나 기타 설정도 본 서버에 맞게 설정을 해주면 좋지만 개발용이라면 대충해도 된다. 대부분 기본값으로 되어있고 이것만 바꿔주면 된다.

#IP목록
listen_addresses = '*'
port = 5432
#요즘은 기본값이 on인데 아닌경우도 있을 수 있다
password_encryption = on

2. pg_hba.conf
접속방식분류TYPE / DATABASE / 사용자USER / 접근위치IP정보ADDRESS / 인증방식METHOD을 미리 정의하고 이 방법대로만 접근을 제한하는 설정파일

기본값은 local접근은 비밀번호 없이 가능, 관리자는  postgres계정으로 가능(우분투12.04 , 14.04 의경우)

$ sudo nano /etc/postgresql/8.4/main/pg_hba.conf

# TYPE DATABASE USER CIDR-ADDRESS METHOD

#한개 아이피에서 md5로 접근가능하도록 설정
host all all ip.ip.ip.ip/32 md5
# 192.168.0.x에서 md5로 접근가능하도록 설정
host all all 192.168.0.0/24 md5

md5는 암호 peer는 암호없이...
고정아이피인 경우 remote서버도 peer로 해놓으면 암호없이 사용가능하다.

3. 사용자 추가

# 리눅스 postgresql 계정을 이용해서 postgres이름으로 pg로그인 : 기본설정에서 이 계정은 비밀번호 없이 로그인이 가능하게 설정이 되어 있었다
$sudo -u postgres psql postgres

# 사용자 : testuser, 비밀번호 : testpassword 생성
postgres=# create user testuser with password 'testpassword';
#CREATE ROLE 이라는 메세지가 나옴

# 디비 : testdb 를 생성
postgres=# create database testdb;
#CREATE DATABASE 라는 메시지가 나옴

#postgres계정에 비밀번호 설정 pg_hba에서 원격서버에서는 비밀번호가 있어야 로그인이 가능하도록 설정했기 때문에 여기서 설정.
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD '설정할패스워드';

#psql종료
postgres=# \q

================참고자료들================

사용자추가
http://www.postgresql.org/docs/8.4/interactive/app-createuser.html

DB추가
http://www.postgresql.org/docs/8.4/interactive/app-createdb.html

================검색키================

최초작성 : ubuntu 12.04, postgresql 9.1
최근수정 : ubuntu 14.04, postgresql 9.3