
두 데이터베이스 비교
Agent는 프로덕션 데이터베이스를 수정할 수 없습니다. 이는 프로덕션 데이터베이스를 안전하게 유지하기 위한 제한입니다.Agent는 개발 데이터베이스를 수정할 수 있습니다. 게시 시점에, Agent가 개발 데이터베이스의 구조(열/테이블 추가 및 삭제)에 적용한 모든 변경 사항은 프로덕션 데이터베이스에도 적용됩니다.프로덕션 데이터를 수동으로 편집할 수 있습니다. Database 도구를 열고, 프로덕션 데이터베이스를 선택한 다음 My Data를 열고 Enable Editing을 켜세요.
게시할 때는 drizzle-kit을 사용해 테이블, 열, 인덱스, 제약 조건, 뷰, 행 수준 보안 정책의 변경 사항을 적용합니다. 도메인, 함수, 프로시저, 트리거, 권한(grant)은 복사하지 않으며, 역할(role)은 제한적으로만 지원합니다. 지원되지 않는 데이터베이스 객체를 참고하세요.
게시할 때 프로덕션 데이터베이스 만들기
게시된 앱은 빌드할 때 사용하는 개발 데이터베이스와는 별도로, 자체 프로덕션 데이터베이스를 갖게 됩니다.- 현재 인프라(Helium): 개발 데이터베이스에 데이터가 있는 경우, 게시할 때 Replit이 프로덕션 데이터베이스를 자동으로 만들어줍니다.
- 레거시 Neon 개발 데이터베이스: 게시 설정에서 프로덕션 데이터베이스를 직접 만듭니다. 게시하는 동안 Database settings를 열고 Create production database를 켜세요. 개발 데이터를 함께 복사하려면 Set up your production database with your current development data를 추가로 켜세요.

첫 게시: Publishing → Advanced settings → Database settings. Deployment secrets 섹션은 숨김.
앱이 사용하는 데이터베이스 확인하기
거의 모든 경우, 게시된 앱은 Replit이 관리하는 프로덕션 데이터베이스, 즉 Database 도구에 Production Database로 표시되는 데이터베이스를 사용합니다. 두 데이터베이스 모두DATABASE_URL이라는 변수를 사용하지만, 환경마다 값이 다릅니다.
- Project Editor: 워크스페이스, Shell, Agent 세션에서
DATABASE_URL은 개발 데이터베이스를 가리킵니다. Replit이 자동으로 연결하므로 현재 인프라에서는 Secrets에 표시되지 않습니다. - 게시된 앱: 게시하면 앱은 프로덕션 데이터베이스를 가리키는 별도의
DATABASE_URL을 갖게 됩니다.
Shell에서
REPLIT_ENVIRONMENT=production이 보인다고 해서 워크스페이스가 프로덕션 데이터베이스를 사용한다는 뜻은 아닙니다. 이 변수는 앱이 아니라 Replit 플랫폼을 설명합니다. 게시된 앱은 REPLIT_DEPLOYMENT=1로 실행됩니다.Agent에게 확인 요청하기
Agent는 코드와 Secrets를 확인할 수 있으며, 대부분의 앱에서는 프로덕션 데이터를 변경하지 않고 살펴볼 수 있습니다. Agent는 읽기 전용 복제본, 즉 최신 상태로 유지되는 프로덕션 데이터베이스의 읽기 전용 복사본을 통해 프로덕션을 읽습니다. 아주 최근의 변경 사항은 여기에 나타나기까지 잠시 걸릴 수 있습니다. 읽기 전용 복제본은 게시 전에 변경 사항을 테스트하기 위한 별도의 임시 복사본인 배포 프리뷰와는 다릅니다. 다음 프롬프트를 Agent에 붙여넣으세요.Prompt
DATABASE_URL을 읽고, Secrets에 다른 데이터베이스 연결이 없으며, 가장 최근 행이 라이브 앱과 일치한다는 뜻입니다.
Database 도구와 Publishing에서 확인하기
1
프로덕션 데이터베이스 열기
Database 도구에서 All Databases 옆의 데이터베이스 메뉴를 열고 Production을 선택하세요.

2
라이브 앱의 레코드 찾기
My Data를 열고 게시된 앱에서 최근에 만든 항목(예: 새 계정이나 주문)을 찾아보세요. 보인다면 게시된 앱이 이 데이터베이스에 기록하고 있는 것입니다. 프로덕션은 읽기 전용 모드로 열리므로 탐색해도 안전합니다.

3
연결 설정 비교하기
프로덕션 데이터베이스의 Settings 탭을 열고 Connection string을 찾으세요. 그런 다음 Publishing을 열고 Adjust settings를 선택한 뒤 Production app secrets 아래에서 

DATABASE_URL을 찾으세요. 각 값을 표시하여 두 값이 같은 호스트를 가리키는지 확인하세요. 대부분의 앱에서는 엔드포인트 ID, 즉 ep-로 시작하는 부분이 같다는 뜻입니다. 풀링된 주소는 ID 뒤에 -pooler가 붙으므로 전체 문자열이 정확히 일치하지 않아도 됩니다.

4
다른 데이터베이스가 있는지 Secrets 확인하기
Secrets를 여세요. Replit의 기본 제공 연결은 여기에 표시되지 않습니다. 직접 추가한 
DATABASE_URL이나 SUPABASE_DATABASE_URL 같은 다른 데이터베이스 연결이 보인다면, 앱이 대신 그 데이터베이스를 사용하고 있을 수 있습니다. 코드가 어느 것을 읽는지 Agent에게 물어보세요. NEON_DATABASE_URL 시크릿은 데이터베이스 인프라 업그레이드 중에 저장된 이전 개발 데이터베이스 연결입니다. 코드가 이를 읽는 경우에만 앱이 사용합니다.
결과의 의미
이 확인은 앱이 어떻게 설정되어 있는지를 보여줍니다. 라이브 앱에 예상하지 못한 데이터가 계속 표시된다면, 코드가 해당 데이터를 어디에서 읽고 쓰는지 Agent에게 찾아달라고 요청하세요.
연결 풀링
기본적으로 프로덕션 데이터베이스는 연결 풀링이 활성화되어 있지 않습니다. 앱은DATABASE_URL 연결 문자열을 사용해 데이터베이스에 직접 연결하므로, 대부분의 프레임워크가 자체적으로 클라이언트 측 연결 풀을 관리해야 합니다.
각 Neon 프로젝트에는 다이렉트 연결 문자열과 풀링된 연결 문자열이 모두 포함되어 있습니다. 다이렉트 연결 문자열은
postgresql://neondb_owner:<password>@<host>.<region>.neon.tech/<db>?sslmode=require와 같은 형태입니다.풀링된 연결을 사용하려면 호스트에 -pooler를 추가하세요: postgresql://neondb_owner:<password>@<host>-pooler.<region>.neon.tech/<db>?sslmode=require.프로덕션 데이터베이스를 안전하게 변경하기
데이터베이스 변경 사항이 포함된 업데이트를 게시하면, Replit이 Publish 창에서 마이그레이션 과정을 안내합니다. 데이터를 제거할 수 있는 변경 사항을 표시하고, 마이그레이션된 프로덕션 복사본으로 앱을 테스트할 수 있게 하며, 승인한 후에만 변경 사항을 적용합니다. 전체 흐름은 Publish가 프로덕션 데이터베이스를 업데이트하는 방법을 참고하세요.게시 중에 게시된 앱에서 짧은 다운타임이 발생할 수 있습니다. 데이터베이스 변경 사항을 적용하는 동안 충돌을 방지하고 데이터를 보호하기 위해 앱을 일시적으로 중지해야 할 때가 있습니다.
- 여전히 데이터가 들어 있는 열 또는 테이블 제거
- 기존 값이 변환되지 않으면 실패할 수 있는 열 데이터 타입 변경
- 이미 행이 있는 테이블에 기본값 없이 필수 필드 추가
- 테이블 또는 열 이름 변경: Publish가 물어볼 때 이름 변경을 확인하지 않으면 데이터가 삭제됩니다
- 기존 행이 위반할 수 있는 테이블에 고유 제약 조건 추가
게시 프리뷰로 변경 사항 테스트하기
게시 프리뷰는 실제 사용자에게 영향을 주기 전에 데이터베이스 변경 사항과 애플리케이션 업데이트를 테스트할 수 있는, 프로덕션 환경의 임시적이고 격리된 복사본입니다. 다음과 같은 용도로 사용하세요.- 데이터베이스 변경 사항이 적용된 상태에서 주요 사용자 흐름 전반에 걸쳐 앱이 계속 제대로 작동하는지 확인
- 기존 데이터가 올바르게 마이그레이션되었고 새 필드에 예상 값이 포함되어 있는지 확인
- 쿼리 응답 시간에서 성능 저하가 없는지 확인
청구 및 리소스 사용량
프로덕션 데이터베이스 요금에는 컴퓨팅 사용량과 스토리지가 포함됩니다. 데이터베이스는 5분간 활동이 없으면 유휴 상태로 전환되어, 다음 쿼리가 올 때까지 컴퓨팅 청구가 일시 중지됩니다. 컴퓨팅이 유휴 상태인 동안에도 저장된 데이터에는 스토리지 요금이 계속 부과됩니다. Database 도구의 랜딩 화면에는 Billing Period와 Hours of Compute Used가 표시됩니다. 데이터베이스별 저장 공간 사용량을 보려면 해당 데이터베이스의 Settings 탭을 여세요. 모든 Replit App에서의 사용량을 확인하려면 Settings의 Account usage로 이동하여 PostgreSQL Storage와 PostgreSQL Compute 행을 확장하세요. Replit이 데이터베이스 사용량에 대해 청구하는 방법을 알아보려면 배포 및 데이터베이스 요금을 참고하세요.프로덕션 데이터베이스 제거하기
제거된 데이터베이스를 복구하는 것은 삭제된 행이나 테이블을 복원하는 것과 다릅니다. 기존 데이터베이스의 데이터 변경에 대해서는 데이터 복구를 참고하세요.데이터베이스를 제거하는 방법
데이터베이스를 제거하는 방법
Database 도구에서:
- 데이터베이스를 선택한 다음 Settings 탭을 여세요
- Remove database를 선택하고 Yes, Remove database를 선택하여 확인하세요
레거시 개발 데이터베이스
2025년 12월 4일 이전에는 개발 데이터베이스가 Neon에서 호스팅되었습니다. 모든 새로운 개발 데이터베이스는 Replit 자체 인프라(Helium)에서 호스팅됩니다. 앱이 어느 쪽을 사용하는지는 Settings 탭에서 확인할 수 있습니다.DATABASE_URL에 neon.tech가 포함되어 있으면 레거시 Neon이고, helium이 포함되어 있으면 현재 인프라입니다.
데이터베이스 인프라 업그레이드
Replit은 개발 데이터베이스를 Neon에서 Replit 자체의 관리형 PostgreSQL 인프라인 Helium으로 업그레이드하고 있습니다. 이 업그레이드는 자동으로 진행되며, Project Editor에서 앱을 열 때 앱마다 한 번 실행되고, 모든 데이터를 보존합니다. 다음이 변경됩니다.- 더 낮은 지연 시간과 더 많은 저장 공간: 데이터베이스가 앱과 함께 Replit 인프라에서 실행되며, 저장 용량 한도가 10GB에서 20GB로, Pro 및 Enterprise 요금제에서는 50GB로 늘어납니다.
- 동일한 데이터베이스 엔진: Helium은 Neon과 동일한 버전인 PostgreSQL 16을 사용합니다. 쿼리, 스키마, 데이터가 동일하게 작동합니다.
- 연결이 자동으로 업데이트됨:
DATABASE_URL이 Helium을 가리키도록 업데이트됩니다. 이전 Neon 연결 문자열은 참고용으로 Secrets에NEON_DATABASE_URL로 저장됩니다. - 개별 PG 변수 제거:
PGHOST,PGPORT,PGUSER,PGPASSWORD가 제거됩니다. 대신DATABASE_URL을 사용하세요.
- 하드코딩된 Neon 연결 문자열:
neon.tech연결 문자열을 참조하는 코드를 대신DATABASE_URL환경 변수를 사용하도록 업데이트하세요. - 커스텀 PostgreSQL 역할: 역할과 권한은 자동으로 마이그레이션되지만 비밀번호는 복사할 수 없습니다. 새 데이터베이스에서 커스텀 역할의 비밀번호를 재설정하세요.
업그레이드 후 SSL 연결 오류
The server does not support SSL connections 같은 오류가 표시된다면, 연결 코드가 SSL 핸드셰이크를 강제하고 있는 것입니다. Neon은 SSL이 필요했지만, Helium은 앱과 함께 로컬에서 실행되며 SSL을 사용하지 않습니다. SSL 설정을 환경에 따라 조건부로 설정하세요.
데이터베이스를 공유한 포크된 앱
레거시 Neon 시스템에서는 앱을 포크하면 원본 앱의DATABASE_URL이 복사되어, 두 앱과 그 게시된 버전이 동일한 데이터베이스에 연결되었습니다. 공유된 레거시 데이터베이스는 2026년 6월 8일에 종료되었습니다. 게시된 앱이 작동을 멈추거나 데이터 접근 권한을 잃었다면 공유 데이터베이스를 사용하는 게시된 앱 수정하기 또는 지원팀 문의를 참고하세요.
다음 단계
- Publish가 프로덕션 데이터베이스를 업데이트하는 방법: 게시할 때 스키마 변경 사항을 검토, 테스트, 승인합니다.
- 데이터 복구: 개발 또는 프로덕션 데이터를 복원합니다.
- 연결 세부 정보: 데이터베이스의 연결 문자열을 찾습니다.
- 데이터로 작업하기: 데이터를 탐색, 편집, 쿼리합니다.