문서 본문으로 건너뛰기
솜사탕 Docs구성
가이드베타업데이트 2026-08-01기능 검증 2026-07-24

관리형 PostgreSQL

프로젝트에 PostgreSQL을 만들고 필요한 서비스에만 연결합니다.

이 문서에서 다루는 내용

데이터베이스 만들기

  1. 1
    프로젝트에서 PostgreSQL을 추가합니다
    현재 고객 생성 흐름은 PostgreSQL을 지원합니다. 데이터베이스 이름은 영문, 숫자, 하이픈과 언더스코어를 사용할 수 있습니다.
  2. 2
    ACTIVE 상태를 기다립니다
    접속 정보가 준비되기 전에는 서비스에 연결해도 배포 변수가 만들어지지 않습니다.
  3. 3
    DB가 필요한 서비스를 선택합니다
    프로젝트에 서비스가 정확히 1개면 새 DB가 그 서비스에 자동 연결됩니다. 서비스가 없거나 2개 이상이면 실제로 DB를 사용할 서비스를 직접 선택합니다.
  4. 4
    연결된 서비스를 다시 배포합니다
    데이터베이스 환경변수는 다음 배포부터 적용됩니다.

서비스 연결과 변수 이름

프로젝트에 DB가 있다는 이유만으로 모든 서비스에 접속 정보가 들어가지는 않습니다. DB 상세에서 선택한 서비스만 변수를 받습니다.

한 서비스에 연결된 DB
1개
자동 변수
DATABASE_URL
예시
DATABASE_URL
한 서비스에 연결된 DB
2개 이상
자동 변수
DATABASE_URL_<DB 이름>
예시
DATABASE_URL_MAIN, DATABASE_URL_ANALYTICS
같은 키를 직접 만든 경우
사용자가 서비스 환경변수에 같은 키를 직접 저장했다면 그 값이 우선합니다. 의도한 override가 아니라면 중복 키를 제거하세요.
DB 이름이 같은 환경변수 키가 되면 연결할 수 없습니다
DB 이름은 대문자, 숫자와 밑줄 형태로 정규화됩니다. 예를 들어orders-dborders_db는 모두DATABASE_URL_ORDERS_DB가 됩니다. 같은 서비스에 두 DB를 연결하려고 하면 저장이 거부됩니다. 기존 연결에서 충돌이 발견되면 사용자 직접 등록 변수가 있어도 값을 덮어쓰지 않고 배포를 안전하게 중단하므로, DB 이름이나 서비스 연결을 조정하세요.

외부 접속 정보

DB 상세에서 host, port, username, database와 연결 문자열을 확인할 수 있습니다. 비밀번호와 전체 연결 문자열을 저장소, 이슈, 채팅 또는 스크린샷에 남기지 마세요.

형식 예시 · dotenv
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB_NAME
psql · bash
psql "postgresql://USER:PASSWORD@HOST:5432/DB_NAME"

실제 DB 용량 확인

데이터베이스 목록, 프로젝트의 DB 화면과 DB 상세에서 PostgreSQL이 실제로 사용하는 용량을 확인할 수 있습니다. 이 값은 생성할 때 선택한 용량이 아니라 데이터베이스가 보고한pg_database_size 측정값입니다.

  • 실제 용량과 플랜의 DB 저장 용량 한도를 함께 확인합니다.
  • 측정 시각과 정상, 지연, 일부 수집 또는 미수집 상태를 함께 확인합니다.
  • 미수집은 0GB가 아니며, 일부 수집 값은 전체 합계로 단정하지 않습니다.

Migration과 삭제

  • 솜사탕은 앱의 ORM migration을 자동 실행하지 않습니다.
  • 배포 중 migration을 실행한다면 재시도와 동시 배포에도 안전한 명령인지 확인하세요.
  • 데이터베이스를 삭제하기 전에 필요한 데이터를 별도로 백업하고 연결된 서비스를 확인하세요.
  • 삭제 후에는 연결된 서비스의 DB 변수가 다음 배포에서 제거될 수 있습니다.
이미지와 첨부파일 원본은 다른 저장소를 사용하세요
PostgreSQL은 회원, 주문, 게시글처럼 검색·관계·트랜잭션이 필요한 데이터를 위한 저장소입니다. 이미지·영상·첨부파일 원본은 DB나 컨테이너 로컬 폴더 대신 object storage에 보관하세요. 자세한 기준은 파일 업로드와 영구 보관에서 확인할 수 있습니다.