PostgreSQL 은 다음과 같은 세가지 중요 설정화일이 존재합니다.
모두 데이터 폴더안에 위치하고 있습니다.
[postgres@olmaster:~/9.2/data]$ ls -l *.conf
-rw-------. 1 postgres postgres 4398 2012-11-02 16:31 pg_hba.conf
-rw-------. 1 postgres postgres 1636 2012-10-30 13:27 pg_ident.conf
-rw-------. 1 postgres postgres 19844 2012-11-02 17:24 postgresql.conf
[postgres@olmaster:~/9.2/data]$
아래 쿼리로도 위치를 알수 있습니다.
SELECT name, setting
FROM pg_settings
WHERE category = 'File Locations';
name | setting
-------------------+-----------------------------------------
config_file | /var/lib/pgsql/9.2/data/postgresql.conf
data_directory | /var/lib/pgsql/9.2/data
external_pid_file |
hba_file | /var/lib/pgsql/9.2/data/pg_hba.conf
ident_file | /var/lib/pgsql/9.2/data/pg_ident.conf
(5 rows)
postgresql.conf - 가장 중요한 설정화일입니다. 할당되는 메모리량, 데이터화일의 물리적 위치, 리스닝하고 있는 IP 정보등을 설정합니다. 오라클의 init<SID>.ora 과 같은 역할
pg_hba.conf - 데이터베이스에 접속 시도하는 유저들을 제어합니다. (쉽게 말하면 방화벽 같은 역할..비유가 적절한가..쩝). 굳이 비유하자면, 오라클에서도 sqlnet.ora 화일에서 특정 IP 를 블럭킹할수 있죠.
pg_ident.conf - os 인증유저와 PostgreSQL 유저와의 매핑 설정을 하는 화일입니다. 근데, 잘 안쓰여요.