PostgreSQL 서버 주요 파일 및 기능

발행: (2026년 3월 4일 오전 08:03 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Cover image for Principais Arquivos do Servidor PostgreSQL e Suas Funções

1️⃣ postgresql.conf — 서버 일반 설정

PostgreSQL의 중앙 설정 파일입니다. 다음을 제어합니다:

  • 서버 포트(port)
  • 네트워크 인터페이스(listen_addresses)
  • 메모리(shared_buffers, work_mem, maintenance_work_mem)
  • 로그
  • Autovacuum
  • WAL(Write‑Ahead Log)
  • 복제
  • 성능 파라미터
port = 5432
listen_addresses = '*'
shared_buffers = 256MB
log_min_duration_statement = 1000

📌 서버 전체 동작을 변경하고 싶을 때는 바로 여기서 수정합니다.

2️⃣ pg_hba.conf — 접근 제어 및 인증

HBA는 Host‑Based Authentication의 약자입니다. 어떤 사용자가 어느 IP에서, 어떤 데이터베이스에, 어떤 인증 방식을 사용할지 정의합니다.

전형적인 구조:

TYPE  DATABASE  USER  ADDRESS        METHOD
host  all       all   192.168.1.0/24 md5

주요 메서드:

  • trust → 비밀번호 없이 접속 (안전하지 않음)
  • md5 → 암호화된 비밀번호 (구식)
  • scram-sha-256 → 최신 권장 방식
  • peer → 운영체제 인증 사용

📌 보안 및 접근과 관련된 내용이라면 즉시 pg_hba.conf를 떠올리세요.

3️⃣ pg_ident.conf — 사용자 매핑

운영체제 사용자와 PostgreSQL 사용자를 매핑합니다. peer 또는 ident 인증과 함께 사용됩니다.

개념 예시:

map_name   linux_user   postgres_user

IP나 비밀번호를 제어하지 않으며, 오직 신원만 매핑합니다.

4️⃣ postgresql.auto.confALTER SYSTEM을 통한 설정

다음 명령을 실행하면 자동으로 생성됩니다:

ALTER SYSTEM SET work_mem = '64MB';

주요 특징:

  • PostgreSQL이 자동으로 관리
  • postgresql.conf 값을 덮어씀
  • 수동으로 편집해서는 안 됨

5️⃣ .pgpass — 클라이언트 비밀번호 파일

서버가 아닌 클라이언트 머신에 위치합니다. 자격 증명을 저장해 매 연결 시 비밀번호 입력을 생략할 수 있게 합니다.

형식:

hostname:port:database:username:password

⚠️ 파일 권한은 0600이어야 합니다. 그렇지 않으면 보안상의 이유로 무시됩니다.

6️⃣ 데이터 디렉터리(data/)

데이터 디렉터리 안에는 다음이 포함됩니다:

  • 테이블의 물리 파일
  • WAL(트랜잭션 로그)
  • 시스템 카탈로그
  • 내부 제어 파일

이 디렉터리 내부 파일을 수동으로 수정하지 마세요.

전략적 요약

파일주요 기능초점
postgresql.conf일반 설정성능 및 동작
pg_hba.conf접근 제어보안
pg_ident.conf사용자 매핑OS와의 통합
postgresql.auto.conf자동 설정ALTER SYSTEM
.pgpass클라이언트 비밀번호자동화된 연결
0 조회
Back to Blog

관련 글

더 보기 »

SQL 조인 및 윈도우 함수

markdown !Musungu Ruth Ambogohttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws...