Neon Postgres 기반 책 11.3장
- Published on
- 기존의 Vercel Postgres를 사용하는 방식이 Neon Postgres로 전환된 최신 Vercel 환경을 기준으로 재작성한 내용입니다.
이제 Vercel 프로젝트에서 Neon Postgres를 연동해 서버리스 PostgreSQL 데이터베이스를 손쉽게 생성·관리하는 과정을 살펴보겠습니다.
1. Neon Postgres 데이터베이스 생성 및 환경 변수 설정
1.1 Neon Postgres 데이터베이스 생성
Neon Postgres는 Vercel 환경에서 사용할 수 있는 서버리스 PostgreSQL로, 트랜잭션이 필요한 복잡한 데이터(예: 금융 거래, 인벤토리 관리 등)를 저장하거나 사용자 정의 데이터 타입을 다룰 때 유용합니다. 동시에, **자동 확장(Autoscaling)**과 글로벌 호스팅이 가능해 안정적인 성능과 동시성을 보장합니다.
Vercel 대시보드 접속
- 프로젝트 대시보드의 “Storage”(또는 Marketplace > Integrations) 탭으로 이동합니다.
- “Connect Store” 버튼을 클릭한 뒤 “Create New” 옵션에서 **“Neon Postgres”**를 선택합니다.
데이터베이스 이름과 지역 설정
- Neon Postgres 인스턴스에 대한 이름을 지정합니다.
- 지역(Region)을 선택하는데, 보통 애플리케이션 코드와 가장 가까운 지역을 선택하면 지연 시간을 줄일 수 있습니다.
- 한 번 생성한 후에는 데이터베이스 지역 변경이 불가능하므로, 신중히 결정해야 합니다.
데이터베이스 생성 완료
- 잠시 후 Neon Postgres 인스턴스가 생성됩니다.
- 이후 Vercel 대시보드나 Neon Dashboard(연동 페이지)에서 데이터베이스 정보를 확인할 수 있습니다.
환경 변수 설정
Vercel 대시보드 > Integrations > Neon Postgres
- Neon Postgres가 성공적으로 생성되면, “Settings” 또는 “ENV” 탭에서 연결 정보(DATABASE_URL 등)를 확인할 수 있습니다.
환경 변수 복사
- Vercel UI에서 “Show secret” 혹은 “Copy Snippet” 버튼을 통해
DATABASE_URL
같은 비밀 정보를 얻습니다.
- Vercel UI에서 “Show secret” 혹은 “Copy Snippet” 버튼을 통해
프로젝트 내부에 적용
- 로컬 개발 시, 루트 디렉터리의
.env.local
파일에 해당 변수를 추가합니다. 예:DATABASE_URL="postgres://..."
.gitignore
파일에서.env.local
이 버전 관리에서 제외되었는지 반드시 확인하세요.- 배포 시에는 Vercel 프로젝트 대시보드의 “Environment Variables” 섹션에 동일한 값으로 추가해줍니다.
- 로컬 개발 시, 루트 디렉터리의
참고: 이러한 작업을 통해 Neon Postgres 인스턴스와 연결되는 서버리스 함수(Vercel Functions) 및 프론트엔드 프레임워크(Next.js 등) 간에 안전하고 일관된 DB 접근이 가능해집니다.
2. 데이터베이스 테이블 생성 및 관리
2.1 Vercel 대시보드에서 SQL 쿼리 실행 (Neon Dashboard)
Neon Postgres 인스턴스를 생성하고 나면, Vercel 대시보드 또는 Neon Dashboard에서 DB를 관리할 수 있습니다. 여기서는 Neon Dashboard에서 직접 SQL 쿼리를 실행해 테이블을 생성하는 방법을 예로 들겠습니다:
프로젝트 대시보드에서 Neon Postgres 관리 화면으로 이동
- “Storage” 탭(또는 Integrations 메뉴)에서 Neon Postgres 인스턴스를 클릭하면, Neon 관리 화면(Neon Dashboard)으로 이동할 수 있는 링크가 표시됩니다.
Query 탭 열기
- Neon Dashboard에서 “Query”(또는 SQL Editor) 탭을 선택합니다.
- SQL 명령어를 입력할 수 있는 편집기가 표시됩니다.
테이블 생성 SQL 입력
- 필요한 테이블(예:
users
,projects
,metrics
)을 만들기 위해 SQL 스크립트를 입력하고 실행합니다. 예:각 프로젝트 상황에 맞게 컬럼 타입 등을 조정하세요.CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL );
- 필요한 테이블(예:
테이블 조회
- “Browse”(또는 Tables) 탭으로 이동하면, 방금 만든 테이블의 스키마와 데이터를 확인할 수 있습니다.
대시보드에서 테이블 관리 장점
- 웹 기반 인터페이스를 통해 SQL 쿼리를 직관적으로 실행할 수 있어 개발·운영 편의성이 높습니다.
- 테이블 스키마 확인, 데이터 조회·수정 등을 모두 브라우저에서 바로 할 수 있습니다.
3. 마무리
Neon Postgres를 통해 Vercel 환경에서 서버리스 PostgreSQL을 손쉽게 구성할 수 있습니다.
- 데이터베이스 생성: Vercel 대시보드(또는 Marketplace)에서 Neon Postgres를 선택 → 이름·지역 지정 → 인스턴스 생성
- 환경 변수 설정:
.env.local
혹은 Vercel Project Settings에서DATABASE_URL
등 비밀 정보를 등록 - 테이블 생성 및 관리: Neon Dashboard로 이동해 SQL 쿼리를 직접 실행하거나, 웹 인터페이스에서 스키마를 확인
이 과정을 통해 복잡한 트랜잭셔널 데이터를 안전하게 저장하고, Next.js 등 프론트엔드·서버리스 백엔드와 밀접히 결합해 완전한 서버리스 애플리케이션을 구성할 수 있습니다. 무엇보다 자동 확장, 무중단 운영, 간편한 대시보드가 제공되는 것이 Neon Postgres의 장점이니, 기존 Vercel Postgres 사용자가 Neon Postgres로 전환할 때도 큰 수정 없이 안정적으로 사용하실 수 있습니다.