2. DBMS이야기/01. PostgreSQL

[PostgreSQL] postgresql.conf 파라미터 설정(8.0)

OSSW(Open Source System SoftWare 2014. 8. 8. 18:29

postgresql.conf 파라미터 설정



·         FILE LOCATIONS  : 시스템과 직접 연관된 파일들에 대한 설정

 

data_directory = 'ConfigDir'

 

PostgreSQL DB Data 폴더 설정입니다

PostgreSQL 는 기본적으로 접근자 Shell의 환경 변수중 PGDATA에 대해서 로딩하게 됩니다

 

hba_file = 'ConfigDir/pg_hba.conf' 

 

PostgreSQL의 접근제어 파일

 

ident_file = 'ConfigDir/pg_ident.conf' 

 

PostgreSQL Ident Authentication Maps 파일

 

external_pid_file = '(none)' 

 

PostgreSQL Process ID파일위치인데 기본적으로 PGDATA 또는 data_directory 쪽에 

postmaster.pid 파일로 생성되며, Shutdown등에 이용되며따로 설정하지 않아도 됩니다

 

·         CONNECTIONS AND AUTHENTICATION  : 접속과 인증관련 

 

listen_addresses = 'localhost' 

 

PostgreSQl  Listen Adress설정으로 Default Localhost로 되어 있다.

(로커에서만 가능하며 외부접근이 되지 않음)

 

'*'  경우 해당 장비의 Network Interface에 설정된 정보 모두를 허용

(모든 접근 가능)

 

192.168.0.10  192.168.0.13 으로 설정된 Network 대역만 허용할 경우는

listen_addresses = '192.168.0.10.192.168.0.13'  ,(콤마)구분으로 가능하다

 

port = 5432 

 

PostgreSQL Service Port를 지정하는 것으로 기본 5432포트로 되어 있으나 변경도 가능하다

외부에 노출되어 있는 경우 바꾸어 주는 것이 좋을 듯 하다

 

max_connections = 100 

 

최대 동시접속자의 수를 정하는 부분

 

 

superuser_reserved_connections = 2 

 

SuperUser의 접속을 위한 예비용으로 설정하는 것으로 Max Connection설 정이 100일 경우,

이를 2로하면 98명만이 동시 접근되고 2명동시접속이 가능하다가능한 설정하는 것이 좋다

 

unix_socket_directory = '' 

 

TCP/IP 접속만이 아닌 Local에서는 Unix Socket 으로 접속이 가능하며 네트워크보다는 좀 낳은 성능을 보인다.

이 설정을 해주지 않으면 /tmp .s.PGSQL.5432  .s.PGSQL.5432.lock 파일이 생성된다.

5432 이 있듯이 해당포트로 만약에 한 서버에 PostgreSQL를 여러 포트로 기동 할 경우의 구분을 위함이다

 

unix_socket_group = '' 

 

Unix Socket파일의 Onwer는 역시 PostgreSQL Master User이지만 Group을 설정할 수 있다.

접근 제어를 시스템단계에서도 할 수 있기 위한 배려미 설정시 PostgreSQL Satart Master User Owner Group을 따라 간다

 

unix_socket_permissions = 0777 octal 

 

역시 시스템 Permission차원의 접근제어를 위한 퍼미션 설정이다.따로 설정하지 않을 시 srwxrwxrwx 로 설정된다

 

 

·         Security & Authentication

 

authentication_timeout = 60 

 

인증 오류시의 재인증까지의 TimeOut으로 기본 60초이며초 단위 설정이 가능하면 문서를 보면 600(600/60=10)까지 가능

(상황에 따라 주시면 되지만 너무 길게 주면 오히려 리소스만 낭비 됨)

 

ssl = false 

 

SSL 인증처리 여부 체크

 

password_encryption = true 

 

create user alter user로 계정 생성 변경 시에 ENCRYPTED 혹은 UNENCRYPTED로 지정하지 않을 때 자동으로 Password Encryption 할지 설정

 

db_user_namespace = false 

 

User  DB 설정 시 사용하는 옵션으로 Oracle SID와 같은 형태라고 보면 쉬울듯하다

기존에는 계정 하나로 보통 다 접근이 되나 이 경우는 계정@디비명 식으로 접근을 모두 해야 한다.





posted by 김득은