본문 바로가기

데이터베이스/postgresql

PostgreSQL 설정 파일의 주요 기능과 역할

PostgreSQL은 강력한 오픈 소스 데이터베이스 관리 시스템으로, 다양한 설정 파일을 통해 세부적인 동작을 제어할 수 있습니다. 이 글에서는 PostgreSQL의 주요 설정 파일과 그 기능에 대해 살펴보겠습니다.

1. postgresql.conf

postgresql.conf는 PostgreSQL 서버의 핵심 설정 파일로, 서버의 동작 방식을 결정하는 다양한 파라미터를 정의합니다. 주요 기능은 다음과 같습니다:

  • 파일 위치: 일반적으로 데이터 디렉토리 내에 위치하며, 운영 체제와 설치 방법에 따라 경로가 다를 수 있습니다.
  • DevKuma
  • 주요 설정 항목:
    • 파일 위치 설정: 데이터베이스 파일, 인증 파일 등의 경로를 지정합니다.
    • 연결 및 인증: 서버가 수신할 IP 주소, 포트 번호, 최대 연결 수 등을 설정합니다.
    • 리소스 사용: 메모리, 디스크 I/O, 프로세서 사용량 등을 조절합니다.
    • 로그 관리: 로그 파일의 위치, 로깅 레벨 등을 설정합니다.

이 파일을 통해 서버의 성능과 보안을 최적화할 수 있습니다.

2. pg_hba.conf

pg_hba.conf는 클라이언트의 인증 방식을 정의하는 파일로, 데이터베이스에 대한 접근 제어를 담당합니다. 주요 기능은 다음과 같습니다:

  • 파일 위치: postgresql.conf 파일 내의 hba_file 파라미터를 통해 경로를 확인할 수 있습니다.
  • Velog
  • 주요 설정 항목:
    • 접속 유형: 로컬, 호스트, 호스트ssl 등 접속 방식을 지정합니다.
    • 데이터베이스와 사용자: 특정 데이터베이스와 사용자에 대한 접근 권한을 설정합니다.
    • 주소: 허용할 클라이언트의 IP 주소 범위를 지정합니다.
    • 인증 방법: md5, scram-sha-256, trust 등 다양한 인증 방식을 설정합니다.

이 파일을 통해 데이터베이스의 보안을 강화할 수 있습니다.

3. pg_ident.conf

pg_ident.conf는 운영 체제 사용자와 PostgreSQL 사용자를 매핑하는 파일로, 특정 인증 방법에서 사용됩니다. 주요 기능은 다음과 같습니다:

  • 파일 위치: postgresql.conf 파일 내의 ident_file 파라미터를 통해 경로를 확인할 수 있습니다.
  • 주요 설정 항목:
    • 매핑 이름: pg_hba.conf에서 참조할 매핑의 이름을 지정합니다.
    • 운영 체제 사용자: 클라이언트 시스템의 사용자 이름을 지정합니다.
    • PostgreSQL 사용자: 매핑될 데이터베이스 사용자 이름을 지정합니다.

이 파일을 통해 운영 체제 사용자와 데이터베이스 사용자의 관계를 정의할 수 있습니다.

4. start.conf

start.conf는 PostgreSQL 클러스터의 시작 및 중지 동작을 제어하는 파일로, 클러스터의 자동 시작 여부를 결정합니다. 주요 기능은 다음과 같습니다:

  • 파일 위치: 각 클러스터의 구성 디렉토리에 위치합니다.
  • 주요 설정 항목:
    • auto: 클러스터가 시스템 부팅 시 자동으로 시작됩니다.
    • manual: 클러스터가 자동으로 시작되지 않으며, 수동으로 시작해야 합니다.
    • disabled: 클러스터의 시작이 완전히 비활성화됩니다.

이 파일을 통해 클러스터의 시작 동작을 세밀하게 제어할 수 있습니다.

5. recovery.conf

recovery.conf는 복구 모드에서 PostgreSQL의 동작을 제어하는 파일로, 주로 데이터베이스 복구나 스트리밍 리플리케이션 설정 시 사용됩니다. 주요 기능은 다음과 같습니다:

  • 파일 위치: 데이터 디렉토리에 위치하며, 복구 모드에서만 사용됩니다.
  • 주요 설정 항목:
    • 복구 소스: 복구에 사용할 아카이브나 스탠바이 서버를 지정합니다.
    • 복구 종료 시점: 특정 시점까지 복구를 수행하도록 설정합니다.
    • 트리거 파일: 복구 모드를 종료하고 정상 모드로 전환하기 위한 파일을 지정합니다.

이 파일을 통해 데이터베이스의 복구 과정을 세밀하게 제어할 수 있습니다.

결론

PostgreSQL의 다양한 설정 파일들은 서버의 동작, 보안, 성능 등을 세밀하게 조정할 수 있는 도구를 제공합니다. 각 파일의 역할과 설정 항목을 이해하고 적절하게 구성함으로써 안정적이고 효율적인 데이터베이스 운영이 가능합니다

반응형