supabase-connect

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Supabase Database Connection

Supabase数据库连接

Supabase PostgreSQL 데이터베이스에 직접 연결하여 테이블 생성, SQL 실행 등의 작업을 수행합니다.
可直接连接Supabase PostgreSQL数据库,执行创建表、运行SQL等操作。

When to Use

适用场景

  • Supabase 테이블 생성/수정/삭제
  • SQL 쿼리 직접 실행
  • 데이터베이스 스키마 확인
  • 데이터 마이그레이션
  • 创建/修改/删除Supabase表
  • 直接执行SQL查询
  • 查看数据库架构
  • 数据库迁移

Instructions

操作步骤

Step 1: .env에서 연결 정보 확인

步骤1:从.env文件中确认连接信息

bash
undefined
bash
undefined

프로젝트 .env 또는 .env.local 파일에서 확인

从项目的.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
undefined
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
undefined

Step 2: Node.js로 연결 및 실행

步骤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();
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 비밀번호 확인
错误解决方案
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 파일 읽기)
  • Bash(用于运行node)
  • Read(用于读取.env文件)