바이브코딩 · 검수된 답변

Supabase DATABASE_URL 연결 오류 해결: Prisma와 Render에서 확인할 것

Supabase DATABASE_URL 오류는 대부분 비밀번호 치환, 특수문자 인코딩, pooler 주소, Prisma schema, Render 환경변수 누락에서 발생합니다.

Supabase DATABASE_URL 연결 오류 해결: Prisma와 Render에서 확인할 것

바이브코딩으로 만든 웹을 실제 서비스로 만들 때 가장 자주 막히는 부분이 PostgreSQL 연결입니다. 특히 Supabase의 DATABASE_URL을 Render와 Prisma에 연결할 때 한 글자만 틀려도 migration이나 런타임 DB 요청이 실패합니다.

이 글은 바이브코딩 웹 배포 가이드의 DB 연결 보조 문서입니다.

1. DATABASE_URL 형식부터 확인합니다

Supabase PostgreSQL URI는 보통 아래 형태입니다.

postgresql://postgres:[YOUR-PASSWORD]@db.xxxxx.supabase.co:5432/postgres

또는 pooler 주소를 쓸 경우 아래처럼 보일 수 있습니다.

postgresql://postgres.xxxxx:[YOUR-PASSWORD]@aws-0-region.pooler.supabase.com:5432/postgres

중요한 것은 [YOUR-PASSWORD]를 실제 DB 비밀번호로 바꾸는 것입니다. 대괄호까지 그대로 남겨두면 연결되지 않습니다.

2. 비밀번호 특수문자는 percent-encoding이 필요할 수 있습니다

DB 비밀번호에 아래 문자가 있으면 URL에서 깨질 수 있습니다.

@ : / ? # [ ] ! $ & ' ( ) * + , ; =

예를 들어 비밀번호에 @가 있으면 DB host 구분자로 오해될 수 있습니다. 이 경우 Supabase 안내처럼 percent-encode 해야 합니다.

3. Render Environment Variables에 정확히 넣었는지 확인합니다

Render에는 코드가 아니라 Environment Variables에 넣습니다.

DATABASE_URL=postgresql://...

확인할 것:

4. Prisma 7에서는 datasource URL을 코드에서 직접 관리할 수 있습니다

이 프로젝트는 Prisma adapter와 prisma.config.ts를 통해 DATABASE_URL을 읽습니다. 따라서 DB 연결 문제를 볼 때는 아래 파일들을 같이 확인해야 합니다.

prisma/schema.prisma
prisma.config.ts
src/lib/database-url.ts
src/lib/db.ts

실제 연결 확인 명령:

npm.cmd run db:generate
npm.cmd run db:deploy
npm.cmd run db:check

개발 중이라면:

npm.cmd run db:migrate

운영 배포에서는:

npm.cmd run db:deploy

5. schema가 포함된 DATABASE_URL인지 확인합니다

프로젝트가 PostgreSQL schema를 분리해서 쓰는 경우 DATABASE_URL에 schema 파라미터가 붙을 수 있습니다.

?schema=search_intel

이 값이 로컬과 운영에서 다르면 migration은 성공했는데 앱이 데이터를 못 찾는 상황이 생길 수 있습니다.

6. DB health endpoint로 운영 연결을 확인합니다

배포 후에는 브라우저가 아니라 서버에서 DB를 실제로 볼 수 있는지 확인해야 합니다.

Invoke-WebRequest -Uri "https://infofixhub.org/api/health/db" -UseBasicParsing

좋은 응답은 단순해야 합니다.

{
  "ok": true
}

DB 비밀번호, host, full connection string을 health 응답에 노출하면 안 됩니다.

7. Render 배포 오류와 연결해서 봅니다

DATABASE_URL이 잘못되면 Render 배포 중 prisma migrate deploy 단계에서 실패할 수 있습니다. 이 경우 바이브코딩 Render 배포 오류 해결법을 같이 보면 원인을 좁히기 쉽습니다.

최종 체크리스트

DB 연결이 정상화되면 바이브코딩 웹 배포 전체 과정에서 API Key, 도메인, Google 색인까지 이어서 점검하면 됩니다.