Skip to main content

PostgreSQL

오픈소스 관계형 데이터베이스(RDBMS)입니다. 테이블 형태로 데이터를 저장하고 SQL로 조회합니다.

어디에 쓰이나요?

  • 사용자 정보, 게시글, 주문 내역 등 구조화된 데이터를 저장할 때
  • Dify, Langfuse, n8n 등 대부분의 애플리케이션이 기본 데이터베이스로 사용
  • 트랜잭션, 외래 키 등 데이터 무결성이 필요한 경우
이 가이드에서 다루는 Dify, Langfuse, Langflow, n8n 모두 내부적으로 PostgreSQL을 사용합니다. 각 서비스의 docker-compose.yml에 PostgreSQL이 포함되어 있으므로, 별도로 설치할 필요 없이 해당 서비스를 실행하면 됩니다.

Docker Compose

docker-compose.yml
services:
  postgres:
    image: postgres:17
    container_name: postgres
    restart: unless-stopped
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: changeme
      POSTGRES_DB: postgres
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

실행

docker compose up -d

접속 확인

docker exec -it postgres psql -U postgres
정상적으로 접속되면 postgres=# 프롬프트가 표시됩니다.
SELECT version();

기본 정보

항목
포트5432
기본 사용자postgres
기본 비밀번호changeme
데이터 저장 경로postgres_data 볼륨

환경 변수

변수설명기본값
POSTGRES_USER슈퍼유저 이름postgres
POSTGRES_PASSWORD슈퍼유저 비밀번호(필수)
POSTGRES_DB기본 데이터베이스 이름POSTGRES_USER 값
PGDATA데이터 디렉토리 경로/var/lib/postgresql/data

라이선스

구분내용
라이선스PostgreSQL License (BSD 계열)
개인 사용자유롭게 사용 가능
상업적 사용자유롭게 사용 가능, 수정/재배포 제한 없음

참고