# Supabase Connect

> Direct Supabase PostgreSQL database connection and SQL execution. Use when creating tables, running SQL queries, managing schemas, or setting up database migrations. Automatically reads connection info from project .env files.

- Skill: `majiayu000/supabase-connect` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/supabase-connect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/supabase-connect/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/supabase-connect

---


# Supabase Database Connection

Supabase PostgreSQL 데이터베이스에 직접 연결하여 테이블 생성, SQL 실행 등의 작업을 수행합니다.

## When to Use
- Supabase 테이블 생성/수정/삭제
- SQL 쿼리 직접 실행
- 데이터베이스 스키마 확인
- 데이터 마이그레이션

## Instructions

### Step 1: .env에서 연결 정보 확인
```bash
# 프로젝트 .env 또는 .env.local 파일에서 확인
SUPABASE_DB_HOST=aws-*.pooler.supabase.com
SUPABASE_DB_PORT=5432
SUPABASE_DB_USER=postgres.projectref
SUPABASE_DB_PASSWORD=your_password
SUPABASE_DB_NAME=postgres
```

### Step 2: Node.js로 연결 및 실행
```javascript
const dns = require('dns');
const { Client } = require('pg');

// WSL IPv6 문제 해결 - 필수
dns.setDefaultResultOrder('ipv4first');

const client = new Client({
  host: process.env.SUPABASE_DB_HOST,
  port: parseInt(process.env.SUPABASE_DB_PORT) || 5432,
  database: process.env.SUPABASE_DB_NAME || 'postgres',
  user: process.env.SUPABASE_DB_USER,
  password: process.env.SUPABASE_DB_PASSWORD,
  ssl: { rejectUnauthorized: false }
});

await client.connect();
const result = await client.query('YOUR SQL HERE');
console.log(result.rows);
await client.end();
```

## Common Issues

| 오류 | 해결책 |
|------|--------|
| `ENETUNREACH IPv6` | `dns.setDefaultResultOrder('ipv4first')` |
| `self-signed certificate` | `ssl: { rejectUnauthorized: false }` |
| `Tenant not found` | Pooler URL 사용 (aws-*.pooler.supabase.com) |
| `password authentication failed` | .env 비밀번호 확인 |

## Required Tools
- Bash (node 실행)
- Read (.env 파일 읽기)

