> ## Documentation Index
> Fetch the complete documentation index at: https://v3.selectfromuser.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PostgreSQL 연결하기

SAPP에 PostgreSQL을 리소스로 등록하면 앱에서 해당 데이터베이스를 사용할 수 있습니다.

연결하기 전에 PostgreSQL의 Connection String을 준비하세요. Supabase나 Neon을 사용하는 경우에는 각 서비스의 공식 안내에서 연결 문자열을 확인해주세요.

## 리소스 추가하기

프로젝트의 리소스 메뉴에서 리소스 추가를 선택합니다.

### Name

앱에서 리소스를 구분할 이름을 입력합니다.

```text theme={null}
pgsql.base
```

여러 데이터베이스를 연결한다면 용도에 따라 이름을 나눌 수 있습니다.

```text theme={null}
pgsql.customer
pgsql.analytics
```

### Type

리소스 유형에서 pgsql을 선택합니다.

## 연결 문자열 입력하기

PostgreSQL Connection String에 준비한 연결 문자열을 입력합니다.

일반적인 형식은 다음과 같습니다.

```text theme={null}
postgresql://사용자:비밀번호@호스트:포트/데이터베이스
```

예시는 다음과 같습니다.

```text theme={null}
postgresql://app_user:password@db.example.com:5432/app
```

SSL 연결이 필요한 경우에는 제공받은 옵션까지 포함해 입력합니다.

```text theme={null}
postgresql://app_user:password@db.example.com:5432/app?sslmode=require
```

연결 문자열을 입력하면 아래의 Config JSON에 `connectionString` 값이 자동으로 반영됩니다.

## dev와 prod 설정하기

SAPP에서는 개발 환경과 운영 환경의 연결 정보를 각각 입력할 수 있습니다.

* dev: 개발 및 테스트할 때 사용할 데이터베이스
* prod: 실제 운영 앱에서 사용할 데이터베이스

개발용과 운영용 데이터베이스가 분리되어 있다면 각각 다른 연결 문자열을 입력합니다. 하나의 데이터베이스만 사용한다면 dev와 prod에 같은 연결 문자열을 입력할 수 있습니다.

## 직접 운영하는 PostgreSQL 연결하기

서버나 클라우드 인스턴스에 PostgreSQL을 직접 설치한 경우에도 같은 형식의 연결 문자열을 사용합니다. 다음 정보가 필요합니다.

* PostgreSQL 서버 주소
* 포트
* 데이터베이스 이름
* 사용자 이름과 비밀번호

```text theme={null}
postgresql://사용자:비밀번호@서버주소:5432/데이터베이스
```

SAPP에서 접근할 수 있도록 PostgreSQL 서버의 외부 연결과 네트워크 접근이 허용되어 있어야 합니다. `localhost`나 `127.0.0.1`은 PostgreSQL이 실행 중인 서버 자체를 가리키므로 SAPP의 연결 주소로 사용할 수 없습니다.

구체적인 외부 접속 설정은 서버 환경마다 다르므로 사용하는 서버나 클라우드 서비스의 안내를 확인하세요.

## Supabase 또는 Neon을 사용하는 경우

Supabase나 Neon의 관리 화면에서 PostgreSQL Connection String을 확인한 뒤 동일하게 입력합니다.

호스트 주소, SSL 옵션, 연결 방식은 서비스 설정에 따라 다를 수 있으므로 구체적인 값은 각 서비스의 최신 연결 가이드를 참고하세요.

## 저장하기

dev와 prod의 연결 정보를 확인한 뒤 저장을 선택합니다. 연결 문자열에는 데이터베이스 비밀번호가 포함되므로 앱 코드나 공개 문서에 직접 작성하지 말고 SAPP의 리소스 설정에서 관리하세요.
